2dfavbNrYnrBynUfFGRO1P changeset

Changeset656562396336 (b)
ParentNone (a)
ab
0+Midgard.QueryStorage storage = new Midgard.QueryStorage ("midgard_page");
0+Midgard.QuerySelect select = new Midgard.QuerySelect (cnc, storage);
0+
0+Midgard.QueryProperty prop1 = new Midgard.QueryProperty ("metadata.created", null);
0+Midgard.QueryValue val1 = new Midgard.QueryValue ("2000-01-01 10:10:10");
0+Midgard.QueryConstraint cnstr1 = new Midgard.QueryConstraint (prop1, ">", val1, null);
0+
0+Midgard.QueryProperty prop2 = new Midgard.QueryProperty ("name", null);
0+Midgard.QueryValue val2 = new Midgard.QueryValue ("");
0+Midgard.QueryConstraint cnstr2 = new Midgard.QueryConstraint (prop2, "<>", val2, null);
0+
0+Midgard.QueryProperty prop3 = new Midgard.QueryProperty ("up", null);
0+Midgard.QueryValue val3 = new Midgard.QueryValue (0);
0+Midgard.QueryConstraint cnstr3 = new Midgard.QueryConstraint (prop3, "<>", val3, null);
0+
0+Midgard.QueryProperty prop4 = new Midgard.QueryProperty ("style.metadata.revised", null);
0+Midgard.QueryValue val4 = new Midgard.QueryValue ("2000-01-01 10:10:10");
0+Midgard.QueryConstraint cnstr4 = new Midgard.QueryConstraint (prop4, ">", val4, null);
0+
0+Midgard.QueryProperty prop5 = new Midgard.QueryProperty ("parameter.name", null);
0+Midgard.QueryValue val5 = new Midgard.QueryValue ("some domain");
0+Midgard.QueryConstraint cnstr5 = new Midgard.QueryConstraint (prop5, "=", val5, null);
0+
0+Midgard.QueryProperty prop6 = new Midgard.QueryProperty ("attachment.name", null);
0+Midgard.QueryValue val6 = new Midgard.QueryValue ("my attachment");
0+Midgard.QueryConstraint cnstr6 = new Midgard.QueryConstraint (prop6, "=", val6, null);
0+
0+Midgard.QueryGroupConstraint group_constraint_and = new Midgard.QueryGroupConstraint ("AND", cnstr4, cnstr5, cnstr6);
0+Midgard.QueryGroupConstraint group_constraint = new Midgard.QueryGroupConstraint ("OR", cnstr1, cnstr2, cnstr3, group_constraint_and);
0+
0+Midgard.QueryProperty prop7 = new Midgard.QueryProperty ("metadata.creator", null);
0+Midgard.QueryStorage join_storage = new Midgard.QueryStorage ("midgard_person");
0+Midgard.QueryProperty prop8 = new Midgard.QueryProperty ("guid", join_storage);
0+
0+Midgard.QueryProperty prop9 = new Midgard.QueryProperty ("metadata.creator", null);
0+Midgard.QueryStorage join_storage1 = new Midgard.QueryStorage ("midgard_page");
0+Midgard.QueryProperty prop10 = new Midgard.QueryProperty ("metadata.revisor", join_storage1);
0+
0+select.add_join ("LEFT", prop7, prop8);
0+select.add_join ("LEFT", prop9, prop10);
0+
0+select.set_constraint (group_constraint);
0+select.set_limit (1);
0+select.execute();
0+
0+Generated SQL:
0+
0+SELECT
0+        (...)
0+        t1.metadata_deleted AS deleted,
0+        t1.metadata_isapproved AS isapproved,
0+        t1.metadata_islocked AS islocked
0+FROM `page` AS t1
0+        LEFT JOIN `person` AS t2 ON (t1.metadata_creator = t2.guid)
0+        LEFT JOIN `page` AS t3 ON (t1.metadata_creator = t3.metadata_revisor)
0+        LEFT JOIN `style` AS t4 ON (t1.style = t4.id)
0+        LEFT JOIN `record_extension` AS t5 ON (t1.guid = t5.parent_guid)
0+        LEFT JOIN `blobs` AS t6 ON (t1.guid = t6.parent_guid)
0+WHERE (t1.metadata_created > '2000-01-01 10:10:10') OR (t1.name != '') OR (t1.up != 0) OR ((t4.metadata_revised > '2000-01-01 10:10:10') AND (t5.name = 'some domain') AND (t6.name = 'my attachment'))
0+
0+
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
--- Revision None
+++ Revision 656562396336
@@ -0,0 +1,61 @@
+Midgard.QueryStorage storage = new Midgard.QueryStorage ("midgard_page");
+Midgard.QuerySelect select = new Midgard.QuerySelect (cnc, storage);
+
+Midgard.QueryProperty prop1 = new Midgard.QueryProperty ("metadata.created", null);
+Midgard.QueryValue val1 = new Midgard.QueryValue ("2000-01-01 10:10:10");
+Midgard.QueryConstraint cnstr1 = new Midgard.QueryConstraint (prop1, ">", val1, null);
+
+Midgard.QueryProperty prop2 = new Midgard.QueryProperty ("name", null);
+Midgard.QueryValue val2 = new Midgard.QueryValue ("");
+Midgard.QueryConstraint cnstr2 = new Midgard.QueryConstraint (prop2, "<>", val2, null);
+
+Midgard.QueryProperty prop3 = new Midgard.QueryProperty ("up", null);
+Midgard.QueryValue val3 = new Midgard.QueryValue (0);
+Midgard.QueryConstraint cnstr3 = new Midgard.QueryConstraint (prop3, "<>", val3, null);
+
+Midgard.QueryProperty prop4 = new Midgard.QueryProperty ("style.metadata.revised", null);
+Midgard.QueryValue val4 = new Midgard.QueryValue ("2000-01-01 10:10:10");
+Midgard.QueryConstraint cnstr4 = new Midgard.QueryConstraint (prop4, ">", val4, null);
+
+Midgard.QueryProperty prop5 = new Midgard.QueryProperty ("parameter.name", null);
+Midgard.QueryValue val5 = new Midgard.QueryValue ("some domain");
+Midgard.QueryConstraint cnstr5 = new Midgard.QueryConstraint (prop5, "=", val5, null);
+
+Midgard.QueryProperty prop6 = new Midgard.QueryProperty ("attachment.name", null);
+Midgard.QueryValue val6 = new Midgard.QueryValue ("my attachment");
+Midgard.QueryConstraint cnstr6 = new Midgard.QueryConstraint (prop6, "=", val6, null);
+
+Midgard.QueryGroupConstraint group_constraint_and = new Midgard.QueryGroupConstraint ("AND", cnstr4, cnstr5, cnstr6);
+Midgard.QueryGroupConstraint group_constraint = new Midgard.QueryGroupConstraint ("OR", cnstr1, cnstr2, cnstr3, group_constraint_and);
+
+Midgard.QueryProperty prop7 = new Midgard.QueryProperty ("metadata.creator", null);
+Midgard.QueryStorage join_storage = new Midgard.QueryStorage ("midgard_person");
+Midgard.QueryProperty prop8 = new Midgard.QueryProperty ("guid", join_storage);
+
+Midgard.QueryProperty prop9 = new Midgard.QueryProperty ("metadata.creator", null);
+Midgard.QueryStorage join_storage1 = new Midgard.QueryStorage ("midgard_page");
+Midgard.QueryProperty prop10 = new Midgard.QueryProperty ("metadata.revisor", join_storage1);
+
+select.add_join ("LEFT", prop7, prop8);
+select.add_join ("LEFT", prop9, prop10);
+
+select.set_constraint (group_constraint);
+select.set_limit (1);
+select.execute();
+
+Generated SQL:
+
+SELECT
+ (...)
+ t1.metadata_deleted AS deleted,
+ t1.metadata_isapproved AS isapproved,
+ t1.metadata_islocked AS islocked
+FROM `page` AS t1
+ LEFT JOIN `person` AS t2 ON (t1.metadata_creator = t2.guid)
+ LEFT JOIN `page` AS t3 ON (t1.metadata_creator = t3.metadata_revisor)
+ LEFT JOIN `style` AS t4 ON (t1.style = t4.id)
+ LEFT JOIN `record_extension` AS t5 ON (t1.guid = t5.parent_guid)
+ LEFT JOIN `blobs` AS t6 ON (t1.guid = t6.parent_guid)
+WHERE (t1.metadata_created > '2000-01-01 10:10:10') OR (t1.name != '') OR (t1.up != 0) OR ((t4.metadata_revised > '2000-01-01 10:10:10') AND (t5.name = 'some domain') AND (t6.name = 'my attachment'))
+
+