36 schema['in_state'].inlined = True |
36 schema['in_state'].inlined = True |
37 schema['comments'].inlined = False |
37 schema['comments'].inlined = False |
38 |
38 |
39 PARSER = [ |
39 PARSER = [ |
40 (r"Personne P WHERE P nom 'Zig\'oto';", |
40 (r"Personne P WHERE P nom 'Zig\'oto';", |
41 '''SELECT P.cw_eid |
41 '''SELECT _P.cw_eid |
42 FROM cw_Personne AS P |
42 FROM cw_Personne AS _P |
43 WHERE P.cw_nom=Zig\'oto'''), |
43 WHERE _P.cw_nom=Zig\'oto'''), |
44 |
44 |
45 (r'Personne P WHERE P nom ~= "Zig\"oto%";', |
45 (r'Personne P WHERE P nom ~= "Zig\"oto%";', |
46 '''SELECT P.cw_eid |
46 '''SELECT _P.cw_eid |
47 FROM cw_Personne AS P |
47 FROM cw_Personne AS _P |
48 WHERE P.cw_nom ILIKE Zig"oto%'''), |
48 WHERE _P.cw_nom ILIKE Zig"oto%'''), |
49 ] |
49 ] |
50 |
50 |
51 BASIC = [ |
51 BASIC = [ |
52 |
52 |
|
53 ("Any AS WHERE AS is Affaire", |
|
54 '''SELECT _AS.cw_eid |
|
55 FROM cw_Affaire AS _AS'''), |
|
56 |
53 ("Any X WHERE X is Affaire", |
57 ("Any X WHERE X is Affaire", |
54 '''SELECT X.cw_eid |
58 '''SELECT _X.cw_eid |
55 FROM cw_Affaire AS X'''), |
59 FROM cw_Affaire AS _X'''), |
56 |
60 |
57 ("Any X WHERE X eid 0", |
61 ("Any X WHERE X eid 0", |
58 '''SELECT 0'''), |
62 '''SELECT 0'''), |
59 |
63 |
60 ("Personne P", |
64 ("Personne P", |
61 '''SELECT P.cw_eid |
65 '''SELECT _P.cw_eid |
62 FROM cw_Personne AS P'''), |
66 FROM cw_Personne AS _P'''), |
63 |
67 |
64 ("Personne P WHERE P test TRUE", |
68 ("Personne P WHERE P test TRUE", |
65 '''SELECT P.cw_eid |
69 '''SELECT _P.cw_eid |
66 FROM cw_Personne AS P |
70 FROM cw_Personne AS _P |
67 WHERE P.cw_test=TRUE'''), |
71 WHERE _P.cw_test=TRUE'''), |
68 |
72 |
69 ("Personne P WHERE P test false", |
73 ("Personne P WHERE P test false", |
70 '''SELECT P.cw_eid |
74 '''SELECT _P.cw_eid |
71 FROM cw_Personne AS P |
75 FROM cw_Personne AS _P |
72 WHERE P.cw_test=FALSE'''), |
76 WHERE _P.cw_test=FALSE'''), |
73 |
77 |
74 ("Personne P WHERE P eid -1", |
78 ("Personne P WHERE P eid -1", |
75 '''SELECT -1'''), |
79 '''SELECT -1'''), |
76 |
80 |
77 ("Personne P LIMIT 20 OFFSET 10", |
81 ("Personne P LIMIT 20 OFFSET 10", |
78 '''SELECT P.cw_eid |
82 '''SELECT _P.cw_eid |
79 FROM cw_Personne AS P |
83 FROM cw_Personne AS _P |
80 LIMIT 20 |
84 LIMIT 20 |
81 OFFSET 10'''), |
85 OFFSET 10'''), |
82 |
86 |
83 ("Personne P WHERE S is Societe, P travaille S, S nom 'Logilab';", |
87 ("Personne P WHERE S is Societe, P travaille S, S nom 'Logilab';", |
84 '''SELECT rel_travaille0.eid_from |
88 '''SELECT rel_travaille0.eid_from |
85 FROM cw_Societe AS S, travaille_relation AS rel_travaille0 |
89 FROM cw_Societe AS _S, travaille_relation AS rel_travaille0 |
86 WHERE rel_travaille0.eid_to=S.cw_eid AND S.cw_nom=Logilab'''), |
90 WHERE rel_travaille0.eid_to=_S.cw_eid AND _S.cw_nom=Logilab'''), |
87 |
91 |
88 ("Personne P WHERE P concerne A, A concerne S, S nom 'Logilab', S is Societe;", |
92 ("Personne P WHERE P concerne A, A concerne S, S nom 'Logilab', S is Societe;", |
89 '''SELECT rel_concerne0.eid_from |
93 '''SELECT rel_concerne0.eid_from |
90 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Societe AS S |
94 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Societe AS _S |
91 WHERE rel_concerne0.eid_to=rel_concerne1.eid_from AND rel_concerne1.eid_to=S.cw_eid AND S.cw_nom=Logilab'''), |
95 WHERE rel_concerne0.eid_to=rel_concerne1.eid_from AND rel_concerne1.eid_to=_S.cw_eid AND _S.cw_nom=Logilab'''), |
92 |
96 |
93 ("Note N WHERE X evaluee N, X nom 'Logilab';", |
97 ("Note N WHERE X evaluee N, X nom 'Logilab';", |
94 '''SELECT rel_evaluee0.eid_to |
98 '''SELECT rel_evaluee0.eid_to |
95 FROM cw_Division AS X, evaluee_relation AS rel_evaluee0 |
99 FROM cw_Division AS _X, evaluee_relation AS rel_evaluee0 |
96 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom=Logilab |
100 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom=Logilab |
97 UNION ALL |
101 UNION ALL |
98 SELECT rel_evaluee0.eid_to |
102 SELECT rel_evaluee0.eid_to |
99 FROM cw_Personne AS X, evaluee_relation AS rel_evaluee0 |
103 FROM cw_Personne AS _X, evaluee_relation AS rel_evaluee0 |
100 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom=Logilab |
104 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom=Logilab |
101 UNION ALL |
105 UNION ALL |
102 SELECT rel_evaluee0.eid_to |
106 SELECT rel_evaluee0.eid_to |
103 FROM cw_Societe AS X, evaluee_relation AS rel_evaluee0 |
107 FROM cw_Societe AS _X, evaluee_relation AS rel_evaluee0 |
104 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom=Logilab |
108 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom=Logilab |
105 UNION ALL |
109 UNION ALL |
106 SELECT rel_evaluee0.eid_to |
110 SELECT rel_evaluee0.eid_to |
107 FROM cw_SubDivision AS X, evaluee_relation AS rel_evaluee0 |
111 FROM cw_SubDivision AS _X, evaluee_relation AS rel_evaluee0 |
108 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom=Logilab'''), |
112 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom=Logilab'''), |
109 |
113 |
110 ("Note N WHERE X evaluee N, X nom in ('Logilab', 'Caesium');", |
114 ("Note N WHERE X evaluee N, X nom in ('Logilab', 'Caesium');", |
111 '''SELECT rel_evaluee0.eid_to |
115 '''SELECT rel_evaluee0.eid_to |
112 FROM cw_Division AS X, evaluee_relation AS rel_evaluee0 |
116 FROM cw_Division AS _X, evaluee_relation AS rel_evaluee0 |
113 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom IN(Logilab, Caesium) |
117 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom IN(Logilab, Caesium) |
114 UNION ALL |
118 UNION ALL |
115 SELECT rel_evaluee0.eid_to |
119 SELECT rel_evaluee0.eid_to |
116 FROM cw_Personne AS X, evaluee_relation AS rel_evaluee0 |
120 FROM cw_Personne AS _X, evaluee_relation AS rel_evaluee0 |
117 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom IN(Logilab, Caesium) |
121 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom IN(Logilab, Caesium) |
118 UNION ALL |
122 UNION ALL |
119 SELECT rel_evaluee0.eid_to |
123 SELECT rel_evaluee0.eid_to |
120 FROM cw_Societe AS X, evaluee_relation AS rel_evaluee0 |
124 FROM cw_Societe AS _X, evaluee_relation AS rel_evaluee0 |
121 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom IN(Logilab, Caesium) |
125 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom IN(Logilab, Caesium) |
122 UNION ALL |
126 UNION ALL |
123 SELECT rel_evaluee0.eid_to |
127 SELECT rel_evaluee0.eid_to |
124 FROM cw_SubDivision AS X, evaluee_relation AS rel_evaluee0 |
128 FROM cw_SubDivision AS _X, evaluee_relation AS rel_evaluee0 |
125 WHERE rel_evaluee0.eid_from=X.cw_eid AND X.cw_nom IN(Logilab, Caesium)'''), |
129 WHERE rel_evaluee0.eid_from=_X.cw_eid AND _X.cw_nom IN(Logilab, Caesium)'''), |
126 |
130 |
127 ("Any X WHERE X creation_date TODAY, X is Affaire", |
131 ("Any X WHERE X creation_date TODAY, X is Affaire", |
128 '''SELECT X.cw_eid |
132 '''SELECT _X.cw_eid |
129 FROM cw_Affaire AS X |
133 FROM cw_Affaire AS _X |
130 WHERE DATE(X.cw_creation_date)=CURRENT_DATE'''), |
134 WHERE DATE(_X.cw_creation_date)=CURRENT_DATE'''), |
131 |
135 |
132 ("Any N WHERE G is CWGroup, G name N, E eid 12, E read_permission G", |
136 ("Any N WHERE G is CWGroup, G name N, E eid 12, E read_permission G", |
133 '''SELECT G.cw_name |
137 '''SELECT _G.cw_name |
134 FROM cw_CWGroup AS G, read_permission_relation AS rel_read_permission0 |
138 FROM cw_CWGroup AS _G, read_permission_relation AS rel_read_permission0 |
135 WHERE rel_read_permission0.eid_from=12 AND rel_read_permission0.eid_to=G.cw_eid'''), |
139 WHERE rel_read_permission0.eid_from=12 AND rel_read_permission0.eid_to=_G.cw_eid'''), |
136 |
140 |
137 ('Any Y WHERE U login "admin", U login Y', # stupid but valid... |
141 ('Any Y WHERE U login "admin", U login Y', # stupid but valid... |
138 """SELECT U.cw_login |
142 """SELECT _U.cw_login |
139 FROM cw_CWUser AS U |
143 FROM cw_CWUser AS _U |
140 WHERE U.cw_login=admin"""), |
144 WHERE _U.cw_login=admin"""), |
141 |
145 |
142 ('Any T WHERE T tags X, X is State', |
146 ('Any T WHERE T tags X, X is State', |
143 '''SELECT rel_tags0.eid_from |
147 '''SELECT rel_tags0.eid_from |
144 FROM cw_State AS X, tags_relation AS rel_tags0 |
148 FROM cw_State AS _X, tags_relation AS rel_tags0 |
145 WHERE rel_tags0.eid_to=X.cw_eid'''), |
149 WHERE rel_tags0.eid_to=_X.cw_eid'''), |
146 |
150 |
147 ('Any X,Y WHERE X eid 0, Y eid 1, X concerne Y', |
151 ('Any X,Y WHERE X eid 0, Y eid 1, X concerne Y', |
148 '''SELECT 0, 1 |
152 '''SELECT 0, 1 |
149 FROM concerne_relation AS rel_concerne0 |
153 FROM concerne_relation AS rel_concerne0 |
150 WHERE rel_concerne0.eid_from=0 AND rel_concerne0.eid_to=1'''), |
154 WHERE rel_concerne0.eid_from=0 AND rel_concerne0.eid_to=1'''), |
151 |
155 |
152 ("Any X WHERE X prenom 'lulu'," |
156 ("Any X WHERE X prenom 'lulu'," |
153 "EXISTS(X owned_by U, U in_group G, G name 'lulufanclub' OR G name 'managers');", |
157 "EXISTS(X owned_by U, U in_group G, G name 'lulufanclub' OR G name 'managers');", |
154 '''SELECT X.cw_eid |
158 '''SELECT _X.cw_eid |
155 FROM cw_Personne AS X |
159 FROM cw_Personne AS _X |
156 WHERE X.cw_prenom=lulu AND EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, in_group_relation AS rel_in_group1, cw_CWGroup AS G WHERE rel_owned_by0.eid_from=X.cw_eid AND rel_in_group1.eid_from=rel_owned_by0.eid_to AND rel_in_group1.eid_to=G.cw_eid AND ((G.cw_name=lulufanclub) OR (G.cw_name=managers)))'''), |
160 WHERE _X.cw_prenom=lulu AND EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, in_group_relation AS rel_in_group1, cw_CWGroup AS _G WHERE rel_owned_by0.eid_from=_X.cw_eid AND rel_in_group1.eid_from=rel_owned_by0.eid_to AND rel_in_group1.eid_to=_G.cw_eid AND ((_G.cw_name=lulufanclub) OR (_G.cw_name=managers)))'''), |
157 |
161 |
158 ("Any X WHERE X prenom 'lulu'," |
162 ("Any X WHERE X prenom 'lulu'," |
159 "NOT EXISTS(X owned_by U, U in_group G, G name 'lulufanclub' OR G name 'managers');", |
163 "NOT EXISTS(X owned_by U, U in_group G, G name 'lulufanclub' OR G name 'managers');", |
160 '''SELECT X.cw_eid |
164 '''SELECT _X.cw_eid |
161 FROM cw_Personne AS X |
165 FROM cw_Personne AS _X |
162 WHERE X.cw_prenom=lulu AND NOT EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, in_group_relation AS rel_in_group1, cw_CWGroup AS G WHERE rel_owned_by0.eid_from=X.cw_eid AND rel_in_group1.eid_from=rel_owned_by0.eid_to AND rel_in_group1.eid_to=G.cw_eid AND ((G.cw_name=lulufanclub) OR (G.cw_name=managers)))'''), |
166 WHERE _X.cw_prenom=lulu AND NOT EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, in_group_relation AS rel_in_group1, cw_CWGroup AS _G WHERE rel_owned_by0.eid_from=_X.cw_eid AND rel_in_group1.eid_from=rel_owned_by0.eid_to AND rel_in_group1.eid_to=_G.cw_eid AND ((_G.cw_name=lulufanclub) OR (_G.cw_name=managers)))'''), |
163 ] |
167 ] |
164 |
168 |
165 ADVANCED= [ |
169 ADVANCED= [ |
166 ("Societe S WHERE S nom 'Logilab' OR S nom 'Caesium'", |
170 ("Societe S WHERE S nom 'Logilab' OR S nom 'Caesium'", |
167 '''SELECT S.cw_eid |
171 '''SELECT _S.cw_eid |
168 FROM cw_Societe AS S |
172 FROM cw_Societe AS _S |
169 WHERE ((S.cw_nom=Logilab) OR (S.cw_nom=Caesium))'''), |
173 WHERE ((_S.cw_nom=Logilab) OR (_S.cw_nom=Caesium))'''), |
170 |
174 |
171 ('Any X WHERE X nom "toto", X eid IN (9700, 9710, 1045, 674)', |
175 ('Any X WHERE X nom "toto", X eid IN (9700, 9710, 1045, 674)', |
172 '''SELECT X.cw_eid |
176 '''SELECT _X.cw_eid |
173 FROM cw_Division AS X |
177 FROM cw_Division AS _X |
174 WHERE X.cw_nom=toto AND X.cw_eid IN(9700, 9710, 1045, 674) |
178 WHERE _X.cw_nom=toto AND _X.cw_eid IN(9700, 9710, 1045, 674) |
175 UNION ALL |
179 UNION ALL |
176 SELECT X.cw_eid |
180 SELECT _X.cw_eid |
177 FROM cw_Personne AS X |
181 FROM cw_Personne AS _X |
178 WHERE X.cw_nom=toto AND X.cw_eid IN(9700, 9710, 1045, 674) |
182 WHERE _X.cw_nom=toto AND _X.cw_eid IN(9700, 9710, 1045, 674) |
179 UNION ALL |
183 UNION ALL |
180 SELECT X.cw_eid |
184 SELECT _X.cw_eid |
181 FROM cw_Societe AS X |
185 FROM cw_Societe AS _X |
182 WHERE X.cw_nom=toto AND X.cw_eid IN(9700, 9710, 1045, 674) |
186 WHERE _X.cw_nom=toto AND _X.cw_eid IN(9700, 9710, 1045, 674) |
183 UNION ALL |
187 UNION ALL |
184 SELECT X.cw_eid |
188 SELECT _X.cw_eid |
185 FROM cw_SubDivision AS X |
189 FROM cw_SubDivision AS _X |
186 WHERE X.cw_nom=toto AND X.cw_eid IN(9700, 9710, 1045, 674)'''), |
190 WHERE _X.cw_nom=toto AND _X.cw_eid IN(9700, 9710, 1045, 674)'''), |
187 |
191 |
188 ('Any Y, COUNT(N) GROUPBY Y WHERE Y evaluee N;', |
192 ('Any Y, COUNT(N) GROUPBY Y WHERE Y evaluee N;', |
189 '''SELECT rel_evaluee0.eid_from, COUNT(rel_evaluee0.eid_to) |
193 '''SELECT rel_evaluee0.eid_from, COUNT(rel_evaluee0.eid_to) |
190 FROM evaluee_relation AS rel_evaluee0 |
194 FROM evaluee_relation AS rel_evaluee0 |
191 GROUP BY rel_evaluee0.eid_from'''), |
195 GROUP BY rel_evaluee0.eid_from'''), |
192 |
196 |
193 ("Any X WHERE X concerne B or C concerne X", |
197 ("Any X WHERE X concerne B or C concerne X", |
194 '''SELECT X.cw_eid |
198 '''SELECT _X.cw_eid |
195 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Affaire AS X |
199 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Affaire AS _X |
196 WHERE ((rel_concerne0.eid_from=X.cw_eid) OR (rel_concerne1.eid_to=X.cw_eid))'''), |
200 WHERE ((rel_concerne0.eid_from=_X.cw_eid) OR (rel_concerne1.eid_to=_X.cw_eid))'''), |
197 |
201 |
198 ("Any X WHERE X travaille S or X concerne A", |
202 ("Any X WHERE X travaille S or X concerne A", |
199 '''SELECT X.cw_eid |
203 '''SELECT _X.cw_eid |
200 FROM concerne_relation AS rel_concerne1, cw_Personne AS X, travaille_relation AS rel_travaille0 |
204 FROM concerne_relation AS rel_concerne1, cw_Personne AS _X, travaille_relation AS rel_travaille0 |
201 WHERE ((rel_travaille0.eid_from=X.cw_eid) OR (rel_concerne1.eid_from=X.cw_eid))'''), |
205 WHERE ((rel_travaille0.eid_from=_X.cw_eid) OR (rel_concerne1.eid_from=_X.cw_eid))'''), |
202 |
206 |
203 ("Any N WHERE A evaluee N or N ecrit_par P", |
207 ("Any N WHERE A evaluee N or N ecrit_par P", |
204 '''SELECT N.cw_eid |
208 '''SELECT _N.cw_eid |
205 FROM cw_Note AS N, evaluee_relation AS rel_evaluee0 |
209 FROM cw_Note AS _N, evaluee_relation AS rel_evaluee0 |
206 WHERE ((rel_evaluee0.eid_to=N.cw_eid) OR (N.cw_ecrit_par IS NOT NULL))'''), |
210 WHERE ((rel_evaluee0.eid_to=_N.cw_eid) OR (_N.cw_ecrit_par IS NOT NULL))'''), |
207 |
211 |
208 ("Any N WHERE A evaluee N or EXISTS(N todo_by U)", |
212 ("Any N WHERE A evaluee N or EXISTS(N todo_by U)", |
209 '''SELECT N.cw_eid |
213 '''SELECT _N.cw_eid |
210 FROM cw_Note AS N, evaluee_relation AS rel_evaluee0 |
214 FROM cw_Note AS _N, evaluee_relation AS rel_evaluee0 |
211 WHERE ((rel_evaluee0.eid_to=N.cw_eid) OR (EXISTS(SELECT 1 FROM todo_by_relation AS rel_todo_by1 WHERE rel_todo_by1.eid_from=N.cw_eid)))'''), |
215 WHERE ((rel_evaluee0.eid_to=_N.cw_eid) OR (EXISTS(SELECT 1 FROM todo_by_relation AS rel_todo_by1 WHERE rel_todo_by1.eid_from=_N.cw_eid)))'''), |
212 |
216 |
213 ("Any N WHERE A evaluee N or N todo_by U", |
217 ("Any N WHERE A evaluee N or N todo_by U", |
214 '''SELECT N.cw_eid |
218 '''SELECT _N.cw_eid |
215 FROM cw_Note AS N, evaluee_relation AS rel_evaluee0, todo_by_relation AS rel_todo_by1 |
219 FROM cw_Note AS _N, evaluee_relation AS rel_evaluee0, todo_by_relation AS rel_todo_by1 |
216 WHERE ((rel_evaluee0.eid_to=N.cw_eid) OR (rel_todo_by1.eid_from=N.cw_eid))'''), |
220 WHERE ((rel_evaluee0.eid_to=_N.cw_eid) OR (rel_todo_by1.eid_from=_N.cw_eid))'''), |
217 |
221 |
218 ("Any X WHERE X concerne B or C concerne X, B eid 12, C eid 13", |
222 ("Any X WHERE X concerne B or C concerne X, B eid 12, C eid 13", |
219 '''SELECT X.cw_eid |
223 '''SELECT _X.cw_eid |
220 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Affaire AS X |
224 FROM concerne_relation AS rel_concerne0, concerne_relation AS rel_concerne1, cw_Affaire AS _X |
221 WHERE ((rel_concerne0.eid_from=X.cw_eid AND rel_concerne0.eid_to=12) OR (rel_concerne1.eid_from=13 AND rel_concerne1.eid_to=X.cw_eid))'''), |
225 WHERE ((rel_concerne0.eid_from=_X.cw_eid AND rel_concerne0.eid_to=12) OR (rel_concerne1.eid_from=13 AND rel_concerne1.eid_to=_X.cw_eid))'''), |
222 |
226 |
223 ('Any X WHERE X created_by U, X concerne B OR C concerne X, B eid 12, C eid 13', |
227 ('Any X WHERE X created_by U, X concerne B OR C concerne X, B eid 12, C eid 13', |
224 '''SELECT rel_created_by0.eid_from |
228 '''SELECT rel_created_by0.eid_from |
225 FROM concerne_relation AS rel_concerne1, concerne_relation AS rel_concerne2, created_by_relation AS rel_created_by0 |
229 FROM concerne_relation AS rel_concerne1, concerne_relation AS rel_concerne2, created_by_relation AS rel_created_by0 |
226 WHERE ((rel_concerne1.eid_from=rel_created_by0.eid_from AND rel_concerne1.eid_to=12) OR (rel_concerne2.eid_from=13 AND rel_concerne2.eid_to=rel_created_by0.eid_from))'''), |
230 WHERE ((rel_concerne1.eid_from=rel_created_by0.eid_from AND rel_concerne1.eid_to=12) OR (rel_concerne2.eid_from=13 AND rel_concerne2.eid_to=rel_created_by0.eid_from))'''), |
227 |
231 |
228 ('Any P WHERE P travaille_subdivision S1 OR P travaille_subdivision S2, S1 nom "logilab", S2 nom "caesium"', |
232 ('Any P WHERE P travaille_subdivision S1 OR P travaille_subdivision S2, S1 nom "logilab", S2 nom "caesium"', |
229 '''SELECT P.cw_eid |
233 '''SELECT _P.cw_eid |
230 FROM cw_Personne AS P, cw_SubDivision AS S1, cw_SubDivision AS S2, travaille_subdivision_relation AS rel_travaille_subdivision0, travaille_subdivision_relation AS rel_travaille_subdivision1 |
234 FROM cw_Personne AS _P, cw_SubDivision AS _S1, cw_SubDivision AS _S2, travaille_subdivision_relation AS rel_travaille_subdivision0, travaille_subdivision_relation AS rel_travaille_subdivision1 |
231 WHERE ((rel_travaille_subdivision0.eid_from=P.cw_eid AND rel_travaille_subdivision0.eid_to=S1.cw_eid) OR (rel_travaille_subdivision1.eid_from=P.cw_eid AND rel_travaille_subdivision1.eid_to=S2.cw_eid)) AND S1.cw_nom=logilab AND S2.cw_nom=caesium'''), |
235 WHERE ((rel_travaille_subdivision0.eid_from=_P.cw_eid AND rel_travaille_subdivision0.eid_to=_S1.cw_eid) OR (rel_travaille_subdivision1.eid_from=_P.cw_eid AND rel_travaille_subdivision1.eid_to=_S2.cw_eid)) AND _S1.cw_nom=logilab AND _S2.cw_nom=caesium'''), |
232 |
236 |
233 ('Any X WHERE T tags X', |
237 ('Any X WHERE T tags X', |
234 '''SELECT rel_tags0.eid_to |
238 '''SELECT rel_tags0.eid_to |
235 FROM tags_relation AS rel_tags0'''), |
239 FROM tags_relation AS rel_tags0'''), |
236 |
240 |
276 '''SELECT 2, rel_owned_by0.eid_to |
280 '''SELECT 2, rel_owned_by0.eid_to |
277 FROM owned_by_relation AS rel_owned_by0 |
281 FROM owned_by_relation AS rel_owned_by0 |
278 WHERE rel_owned_by0.eid_from=1 AND NOT EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by1 WHERE rel_owned_by1.eid_from=2 AND rel_owned_by0.eid_to=rel_owned_by1.eid_to)'''), |
282 WHERE rel_owned_by0.eid_from=1 AND NOT EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by1 WHERE rel_owned_by1.eid_from=2 AND rel_owned_by0.eid_to=rel_owned_by1.eid_to)'''), |
279 |
283 |
280 ('Any GN WHERE X in_group G, G name GN, (G name "managers" OR EXISTS(X copain T, T login in ("comme", "cochon")))', |
284 ('Any GN WHERE X in_group G, G name GN, (G name "managers" OR EXISTS(X copain T, T login in ("comme", "cochon")))', |
281 '''SELECT G.cw_name |
285 '''SELECT _G.cw_name |
282 FROM cw_CWGroup AS G, in_group_relation AS rel_in_group0 |
286 FROM cw_CWGroup AS _G, in_group_relation AS rel_in_group0 |
283 WHERE rel_in_group0.eid_to=G.cw_eid AND ((G.cw_name=managers) OR (EXISTS(SELECT 1 FROM copain_relation AS rel_copain1, cw_CWUser AS T WHERE rel_copain1.eid_from=rel_in_group0.eid_from AND rel_copain1.eid_to=T.cw_eid AND T.cw_login IN(comme, cochon))))'''), |
287 WHERE rel_in_group0.eid_to=_G.cw_eid AND ((_G.cw_name=managers) OR (EXISTS(SELECT 1 FROM copain_relation AS rel_copain1, cw_CWUser AS _T WHERE rel_copain1.eid_from=rel_in_group0.eid_from AND rel_copain1.eid_to=_T.cw_eid AND _T.cw_login IN(comme, cochon))))'''), |
284 |
288 |
285 ('Any C WHERE C is Card, EXISTS(X documented_by C)', |
289 ('Any C WHERE C is Card, EXISTS(X documented_by C)', |
286 """SELECT C.cw_eid |
290 """SELECT _C.cw_eid |
287 FROM cw_Card AS C |
291 FROM cw_Card AS _C |
288 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_to=C.cw_eid)"""), |
292 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_to=_C.cw_eid)"""), |
289 |
293 |
290 ('Any C WHERE C is Card, EXISTS(X documented_by C, X eid 12)', |
294 ('Any C WHERE C is Card, EXISTS(X documented_by C, X eid 12)', |
291 """SELECT C.cw_eid |
295 """SELECT _C.cw_eid |
292 FROM cw_Card AS C |
296 FROM cw_Card AS _C |
293 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_from=12 AND rel_documented_by0.eid_to=C.cw_eid)"""), |
297 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_from=12 AND rel_documented_by0.eid_to=_C.cw_eid)"""), |
294 |
298 |
295 ('Any T WHERE C is Card, C title T, EXISTS(X documented_by C, X eid 12)', |
299 ('Any T WHERE C is Card, C title T, EXISTS(X documented_by C, X eid 12)', |
296 """SELECT C.cw_title |
300 """SELECT _C.cw_title |
297 FROM cw_Card AS C |
301 FROM cw_Card AS _C |
298 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_from=12 AND rel_documented_by0.eid_to=C.cw_eid)"""), |
302 WHERE EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by0 WHERE rel_documented_by0.eid_from=12 AND rel_documented_by0.eid_to=_C.cw_eid)"""), |
299 |
303 |
300 ('Any GN,L WHERE X in_group G, X login L, G name GN, EXISTS(X copain T, T login L, T login IN("comme", "cochon"))', |
304 ('Any GN,L WHERE X in_group G, X login L, G name GN, EXISTS(X copain T, T login L, T login IN("comme", "cochon"))', |
301 '''SELECT G.cw_name, X.cw_login |
305 '''SELECT _G.cw_name, _X.cw_login |
302 FROM cw_CWGroup AS G, cw_CWUser AS X, in_group_relation AS rel_in_group0 |
306 FROM cw_CWGroup AS _G, cw_CWUser AS _X, in_group_relation AS rel_in_group0 |
303 WHERE rel_in_group0.eid_from=X.cw_eid AND rel_in_group0.eid_to=G.cw_eid AND EXISTS(SELECT 1 FROM copain_relation AS rel_copain1, cw_CWUser AS T WHERE rel_copain1.eid_from=X.cw_eid AND rel_copain1.eid_to=T.cw_eid AND T.cw_login=X.cw_login AND T.cw_login IN(comme, cochon))'''), |
307 WHERE rel_in_group0.eid_from=_X.cw_eid AND rel_in_group0.eid_to=_G.cw_eid AND EXISTS(SELECT 1 FROM copain_relation AS rel_copain1, cw_CWUser AS _T WHERE rel_copain1.eid_from=_X.cw_eid AND rel_copain1.eid_to=_T.cw_eid AND _T.cw_login=_X.cw_login AND _T.cw_login IN(comme, cochon))'''), |
304 |
308 |
305 ('Any X,S, MAX(T) GROUPBY X,S ORDERBY S WHERE X is CWUser, T tags X, S eid IN(32), X in_state S', |
309 ('Any X,S, MAX(T) GROUPBY X,S ORDERBY S WHERE X is CWUser, T tags X, S eid IN(32), X in_state S', |
306 '''SELECT X.cw_eid, 32, MAX(rel_tags0.eid_from) |
310 '''SELECT _X.cw_eid, 32, MAX(rel_tags0.eid_from) |
307 FROM cw_CWUser AS X, tags_relation AS rel_tags0 |
311 FROM cw_CWUser AS _X, tags_relation AS rel_tags0 |
308 WHERE rel_tags0.eid_to=X.cw_eid AND X.cw_in_state=32 |
312 WHERE rel_tags0.eid_to=_X.cw_eid AND _X.cw_in_state=32 |
309 GROUP BY X.cw_eid'''), |
313 GROUP BY _X.cw_eid'''), |
310 |
314 |
311 ('Any COUNT(S),CS GROUPBY CS ORDERBY 1 DESC LIMIT 10 WHERE S is Affaire, C is Societe, S concerne C, C nom CS, (EXISTS(S owned_by 1)) OR (EXISTS(S documented_by N, N title "published"))', |
315 ('Any COUNT(S),CS GROUPBY CS ORDERBY 1 DESC LIMIT 10 WHERE S is Affaire, C is Societe, S concerne C, C nom CS, (EXISTS(S owned_by 1)) OR (EXISTS(S documented_by N, N title "published"))', |
312 '''SELECT COUNT(rel_concerne0.eid_from), C.cw_nom |
316 '''SELECT COUNT(rel_concerne0.eid_from), _C.cw_nom |
313 FROM concerne_relation AS rel_concerne0, cw_Societe AS C |
317 FROM concerne_relation AS rel_concerne0, cw_Societe AS _C |
314 WHERE rel_concerne0.eid_to=C.cw_eid AND ((EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by1 WHERE rel_concerne0.eid_from=rel_owned_by1.eid_from AND rel_owned_by1.eid_to=1)) OR (EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by2, cw_Card AS N WHERE rel_concerne0.eid_from=rel_documented_by2.eid_from AND rel_documented_by2.eid_to=N.cw_eid AND N.cw_title=published))) |
318 WHERE rel_concerne0.eid_to=_C.cw_eid AND ((EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by1 WHERE rel_concerne0.eid_from=rel_owned_by1.eid_from AND rel_owned_by1.eid_to=1)) OR (EXISTS(SELECT 1 FROM documented_by_relation AS rel_documented_by2, cw_Card AS _N WHERE rel_concerne0.eid_from=rel_documented_by2.eid_from AND rel_documented_by2.eid_to=_N.cw_eid AND _N.cw_title=published))) |
315 GROUP BY C.cw_nom |
319 GROUP BY _C.cw_nom |
316 ORDER BY 1 DESC |
320 ORDER BY 1 DESC |
317 LIMIT 10'''), |
321 LIMIT 10'''), |
318 |
322 |
319 ('Any X WHERE Y evaluee X, Y is CWUser', |
323 ('Any X WHERE Y evaluee X, Y is CWUser', |
320 '''SELECT rel_evaluee0.eid_to |
324 '''SELECT rel_evaluee0.eid_to |
321 FROM cw_CWUser AS Y, evaluee_relation AS rel_evaluee0 |
325 FROM cw_CWUser AS _Y, evaluee_relation AS rel_evaluee0 |
322 WHERE rel_evaluee0.eid_from=Y.cw_eid'''), |
326 WHERE rel_evaluee0.eid_from=_Y.cw_eid'''), |
323 |
327 |
324 ('Any L WHERE X login "admin", X identity Y, Y login L', |
328 ('Any L WHERE X login "admin", X identity Y, Y login L', |
325 '''SELECT Y.cw_login |
329 '''SELECT _Y.cw_login |
326 FROM cw_CWUser AS X, cw_CWUser AS Y |
330 FROM cw_CWUser AS _X, cw_CWUser AS _Y |
327 WHERE X.cw_login=admin AND X.cw_eid=Y.cw_eid'''), |
331 WHERE _X.cw_login=admin AND _X.cw_eid=_Y.cw_eid'''), |
328 |
332 |
329 ('Any L WHERE X login "admin", NOT X identity Y, Y login L', |
333 ('Any L WHERE X login "admin", NOT X identity Y, Y login L', |
330 '''SELECT Y.cw_login |
334 '''SELECT _Y.cw_login |
331 FROM cw_CWUser AS X, cw_CWUser AS Y |
335 FROM cw_CWUser AS _X, cw_CWUser AS _Y |
332 WHERE X.cw_login=admin AND NOT X.cw_eid=Y.cw_eid'''), |
336 WHERE _X.cw_login=admin AND NOT _X.cw_eid=_Y.cw_eid'''), |
333 |
337 |
334 ('Any L WHERE X login "admin", X identity Y?, Y login L', |
338 ('Any L WHERE X login "admin", X identity Y?, Y login L', |
335 '''SELECT Y.cw_login |
339 '''SELECT _Y.cw_login |
336 FROM cw_CWUser AS X LEFT OUTER JOIN cw_CWUser AS Y ON (X.cw_eid=Y.cw_eid) |
340 FROM cw_CWUser AS _X LEFT OUTER JOIN cw_CWUser AS _Y ON (_X.cw_eid=_Y.cw_eid) |
337 WHERE X.cw_login=admin'''), |
341 WHERE _X.cw_login=admin'''), |
338 |
342 |
339 ('Any XN ORDERBY XN WHERE X name XN, X is IN (Basket,Folder,Tag)', |
343 ('Any XN ORDERBY XN WHERE X name XN, X is IN (Basket,Folder,Tag)', |
340 '''SELECT X.cw_name |
344 '''SELECT _X.cw_name |
341 FROM cw_Basket AS X |
345 FROM cw_Basket AS _X |
342 UNION ALL |
346 UNION ALL |
343 SELECT X.cw_name |
347 SELECT _X.cw_name |
344 FROM cw_Folder AS X |
348 FROM cw_Folder AS _X |
345 UNION ALL |
349 UNION ALL |
346 SELECT X.cw_name |
350 SELECT _X.cw_name |
347 FROM cw_Tag AS X |
351 FROM cw_Tag AS _X |
348 ORDER BY 1'''), |
352 ORDER BY 1'''), |
349 |
353 |
350 # DISTINCT, can use relation under exists scope as principal |
354 # DISTINCT, can use relation under exists scope as principal |
351 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
355 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
352 '''SELECT DISTINCT X.cw_eid, rel_read_permission0.eid_to |
356 '''SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
353 FROM cw_CWEType AS X, read_permission_relation AS rel_read_permission0 |
357 FROM cw_CWEType AS _X, read_permission_relation AS rel_read_permission0 |
354 WHERE X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=X.cw_eid) |
358 WHERE _X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=_X.cw_eid) |
355 UNION |
359 UNION |
356 SELECT DISTINCT X.cw_eid, rel_read_permission0.eid_to |
360 SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
357 FROM cw_CWRType AS X, read_permission_relation AS rel_read_permission0 |
361 FROM cw_CWRType AS _X, read_permission_relation AS rel_read_permission0 |
358 WHERE X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=X.cw_eid)'''), |
362 WHERE _X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=_X.cw_eid)'''), |
359 |
363 |
360 # no distinct, Y can't be invariant |
364 # no distinct, Y can't be invariant |
361 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
365 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
362 '''SELECT X.cw_eid, Y.cw_eid |
366 '''SELECT _X.cw_eid, _Y.cw_eid |
363 FROM cw_CWEType AS X, cw_CWGroup AS Y |
367 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
364 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
368 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
365 UNION ALL |
369 UNION ALL |
366 SELECT X.cw_eid, Y.cw_eid |
370 SELECT _X.cw_eid, _Y.cw_eid |
367 FROM cw_CWEType AS X, cw_RQLExpression AS Y |
371 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
368 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
372 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
369 UNION ALL |
373 UNION ALL |
370 SELECT X.cw_eid, Y.cw_eid |
374 SELECT _X.cw_eid, _Y.cw_eid |
371 FROM cw_CWGroup AS Y, cw_CWRType AS X |
375 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
372 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
376 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
373 UNION ALL |
377 UNION ALL |
374 SELECT X.cw_eid, Y.cw_eid |
378 SELECT _X.cw_eid, _Y.cw_eid |
375 FROM cw_CWRType AS X, cw_RQLExpression AS Y |
379 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
376 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid)'''), |
380 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
377 |
381 |
378 # DISTINCT but NEGED exists, can't be invariant |
382 # DISTINCT but NEGED exists, can't be invariant |
379 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
383 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
380 '''SELECT DISTINCT X.cw_eid, Y.cw_eid |
384 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
381 FROM cw_CWEType AS X, cw_CWGroup AS Y |
385 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
382 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
386 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
383 UNION |
387 UNION |
384 SELECT DISTINCT X.cw_eid, Y.cw_eid |
388 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
385 FROM cw_CWEType AS X, cw_RQLExpression AS Y |
389 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
386 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
390 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
387 UNION |
391 UNION |
388 SELECT DISTINCT X.cw_eid, Y.cw_eid |
392 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
389 FROM cw_CWGroup AS Y, cw_CWRType AS X |
393 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
390 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
394 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
391 UNION |
395 UNION |
392 SELECT DISTINCT X.cw_eid, Y.cw_eid |
396 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
393 FROM cw_CWRType AS X, cw_RQLExpression AS Y |
397 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
394 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid)'''), |
398 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
395 |
399 |
396 # should generate the same query as above |
400 # should generate the same query as above |
397 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
401 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
398 '''SELECT DISTINCT X.cw_eid, Y.cw_eid |
402 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
399 FROM cw_CWEType AS X, cw_CWGroup AS Y |
403 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
400 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
404 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
401 UNION |
405 UNION |
402 SELECT DISTINCT X.cw_eid, Y.cw_eid |
406 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
403 FROM cw_CWEType AS X, cw_RQLExpression AS Y |
407 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
404 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
408 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
405 UNION |
409 UNION |
406 SELECT DISTINCT X.cw_eid, Y.cw_eid |
410 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
407 FROM cw_CWGroup AS Y, cw_CWRType AS X |
411 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
408 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
412 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
409 UNION |
413 UNION |
410 SELECT DISTINCT X.cw_eid, Y.cw_eid |
414 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
411 FROM cw_CWRType AS X, cw_RQLExpression AS Y |
415 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
412 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid)'''), |
416 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
413 |
417 |
414 # neged relation, can't be inveriant |
418 # neged relation, can't be inveriant |
415 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
419 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
416 '''SELECT X.cw_eid, Y.cw_eid |
420 '''SELECT _X.cw_eid, _Y.cw_eid |
417 FROM cw_CWEType AS X, cw_CWGroup AS Y |
421 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
418 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
422 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
419 UNION ALL |
423 UNION ALL |
420 SELECT X.cw_eid, Y.cw_eid |
424 SELECT _X.cw_eid, _Y.cw_eid |
421 FROM cw_CWEType AS X, cw_RQLExpression AS Y |
425 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
422 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
426 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
423 UNION ALL |
427 UNION ALL |
424 SELECT X.cw_eid, Y.cw_eid |
428 SELECT _X.cw_eid, _Y.cw_eid |
425 FROM cw_CWGroup AS Y, cw_CWRType AS X |
429 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
426 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid) |
430 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
427 UNION ALL |
431 UNION ALL |
428 SELECT X.cw_eid, Y.cw_eid |
432 SELECT _X.cw_eid, _Y.cw_eid |
429 FROM cw_CWRType AS X, cw_RQLExpression AS Y |
433 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
430 WHERE X.cw_name=CWGroup AND Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=X.cw_eid AND rel_read_permission0.eid_to=Y.cw_eid)'''), |
434 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
431 |
435 |
432 ('Any MAX(X)+MIN(X), N GROUPBY N WHERE X name N, X is IN (Basket, Folder, Tag);', |
436 ('Any MAX(X)+MIN(X), N GROUPBY N WHERE X name N, X is IN (Basket, Folder, Tag);', |
433 '''SELECT (MAX(T1.C0) + MIN(T1.C0)), T1.C1 FROM (SELECT X.cw_eid AS C0, X.cw_name AS C1 |
437 '''SELECT (MAX(T1.C0) + MIN(T1.C0)), T1.C1 FROM (SELECT _X.cw_eid AS C0, _X.cw_name AS C1 |
434 FROM cw_Basket AS X |
438 FROM cw_Basket AS _X |
435 UNION ALL |
439 UNION ALL |
436 SELECT X.cw_eid AS C0, X.cw_name AS C1 |
440 SELECT _X.cw_eid AS C0, _X.cw_name AS C1 |
437 FROM cw_Folder AS X |
441 FROM cw_Folder AS _X |
438 UNION ALL |
442 UNION ALL |
439 SELECT X.cw_eid AS C0, X.cw_name AS C1 |
443 SELECT _X.cw_eid AS C0, _X.cw_name AS C1 |
440 FROM cw_Tag AS X) AS T1 |
444 FROM cw_Tag AS _X) AS T1 |
441 GROUP BY T1.C1'''), |
445 GROUP BY T1.C1'''), |
442 |
446 |
443 ('Any MAX(X)+MIN(LENGTH(D)), N GROUPBY N ORDERBY 1, N, DF WHERE X data_name N, X data D, X data_format DF;', |
447 ('Any MAX(X)+MIN(LENGTH(D)), N GROUPBY N ORDERBY 1, N, DF WHERE X data_name N, X data D, X data_format DF;', |
444 '''SELECT (MAX(T1.C1) + MIN(LENGTH(T1.C0))), T1.C2 FROM (SELECT X.cw_data AS C0, X.cw_eid AS C1, X.cw_data_name AS C2, X.cw_data_format AS C3 |
448 '''SELECT (MAX(T1.C1) + MIN(LENGTH(T1.C0))), T1.C2 FROM (SELECT _X.cw_data AS C0, _X.cw_eid AS C1, _X.cw_data_name AS C2, _X.cw_data_format AS C3 |
445 FROM cw_File AS X |
449 FROM cw_File AS _X |
446 UNION ALL |
450 UNION ALL |
447 SELECT X.cw_data AS C0, X.cw_eid AS C1, X.cw_data_name AS C2, X.cw_data_format AS C3 |
451 SELECT _X.cw_data AS C0, _X.cw_eid AS C1, _X.cw_data_name AS C2, _X.cw_data_format AS C3 |
448 FROM cw_Image AS X) AS T1 |
452 FROM cw_Image AS _X) AS T1 |
449 GROUP BY T1.C2,T1.C3 |
453 GROUP BY T1.C2,T1.C3 |
450 ORDER BY 1,2,T1.C3'''), |
454 ORDER BY 1,2,T1.C3'''), |
451 |
455 |
452 ('DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R', |
456 ('DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R', |
453 '''SELECT T1.C0 FROM (SELECT DISTINCT A.cw_sujet AS C0, A.cw_ref AS C1 |
457 '''SELECT T1.C0 FROM (SELECT DISTINCT _A.cw_sujet AS C0, _A.cw_ref AS C1 |
454 FROM cw_Affaire AS A |
458 FROM cw_Affaire AS _A |
455 ORDER BY 2) AS T1'''), |
459 ORDER BY 2) AS T1'''), |
456 |
460 |
457 ('DISTINCT Any MAX(X)+MIN(LENGTH(D)), N GROUPBY N ORDERBY 2, DF WHERE X data_name N, X data D, X data_format DF;', |
461 ('DISTINCT Any MAX(X)+MIN(LENGTH(D)), N GROUPBY N ORDERBY 2, DF WHERE X data_name N, X data D, X data_format DF;', |
458 '''SELECT T1.C0,T1.C1 FROM (SELECT DISTINCT (MAX(T1.C1) + MIN(LENGTH(T1.C0))) AS C0, T1.C2 AS C1, T1.C3 AS C2 FROM (SELECT DISTINCT X.cw_data AS C0, X.cw_eid AS C1, X.cw_data_name AS C2, X.cw_data_format AS C3 |
462 '''SELECT T1.C0,T1.C1 FROM (SELECT DISTINCT (MAX(T1.C1) + MIN(LENGTH(T1.C0))) AS C0, T1.C2 AS C1, T1.C3 AS C2 FROM (SELECT DISTINCT _X.cw_data AS C0, _X.cw_eid AS C1, _X.cw_data_name AS C2, _X.cw_data_format AS C3 |
459 FROM cw_File AS X |
463 FROM cw_File AS _X |
460 UNION |
464 UNION |
461 SELECT DISTINCT X.cw_data AS C0, X.cw_eid AS C1, X.cw_data_name AS C2, X.cw_data_format AS C3 |
465 SELECT DISTINCT _X.cw_data AS C0, _X.cw_eid AS C1, _X.cw_data_name AS C2, _X.cw_data_format AS C3 |
462 FROM cw_Image AS X) AS T1 |
466 FROM cw_Image AS _X) AS T1 |
463 GROUP BY T1.C2,T1.C3 |
467 GROUP BY T1.C2,T1.C3 |
464 ORDER BY 2,3) AS T1 |
468 ORDER BY 2,3) AS T1 |
465 '''), |
469 '''), |
466 |
470 |
467 # ambiguity in EXISTS() -> should union the sub-query |
471 # ambiguity in EXISTS() -> should union the sub-query |
468 ('Any T WHERE T is Tag, NOT T name in ("t1", "t2"), EXISTS(T tags X, X is IN (CWUser, CWGroup))', |
472 ('Any T WHERE T is Tag, NOT T name in ("t1", "t2"), EXISTS(T tags X, X is IN (CWUser, CWGroup))', |
469 '''SELECT T.cw_eid |
473 '''SELECT _T.cw_eid |
470 FROM cw_Tag AS T |
474 FROM cw_Tag AS _T |
471 WHERE NOT (T.cw_name IN(t1, t2)) AND EXISTS(SELECT 1 FROM tags_relation AS rel_tags0, cw_CWGroup AS X WHERE rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=X.cw_eid UNION SELECT 1 FROM tags_relation AS rel_tags1, cw_CWUser AS X WHERE rel_tags1.eid_from=T.cw_eid AND rel_tags1.eid_to=X.cw_eid)'''), |
475 WHERE NOT (_T.cw_name IN(t1, t2)) AND EXISTS(SELECT 1 FROM tags_relation AS rel_tags0, cw_CWGroup AS _X WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid UNION SELECT 1 FROM tags_relation AS rel_tags1, cw_CWUser AS _X WHERE rel_tags1.eid_from=_T.cw_eid AND rel_tags1.eid_to=_X.cw_eid)'''), |
472 |
476 |
473 # must not use a relation in EXISTS scope to inline a variable |
477 # must not use a relation in EXISTS scope to inline a variable |
474 ('Any U WHERE U eid IN (1,2), EXISTS(X owned_by U)', |
478 ('Any U WHERE U eid IN (1,2), EXISTS(X owned_by U)', |
475 '''SELECT U.cw_eid |
479 '''SELECT _U.cw_eid |
476 FROM cw_CWUser AS U |
480 FROM cw_CWUser AS _U |
477 WHERE U.cw_eid IN(1, 2) AND EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0 WHERE rel_owned_by0.eid_to=U.cw_eid)'''), |
481 WHERE _U.cw_eid IN(1, 2) AND EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0 WHERE rel_owned_by0.eid_to=_U.cw_eid)'''), |
478 |
482 |
479 ('Any U WHERE EXISTS(U eid IN (1,2), X owned_by U)', |
483 ('Any U WHERE EXISTS(U eid IN (1,2), X owned_by U)', |
480 '''SELECT U.cw_eid |
484 '''SELECT _U.cw_eid |
481 FROM cw_CWUser AS U |
485 FROM cw_CWUser AS _U |
482 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0 WHERE U.cw_eid IN(1, 2) AND rel_owned_by0.eid_to=U.cw_eid)'''), |
486 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0 WHERE _U.cw_eid IN(1, 2) AND rel_owned_by0.eid_to=_U.cw_eid)'''), |
483 |
487 |
484 ('Any COUNT(U) WHERE EXISTS (P owned_by U, P is IN (Note, Affaire))', |
488 ('Any COUNT(U) WHERE EXISTS (P owned_by U, P is IN (Note, Affaire))', |
485 '''SELECT COUNT(U.cw_eid) |
489 '''SELECT COUNT(_U.cw_eid) |
486 FROM cw_CWUser AS U |
490 FROM cw_CWUser AS _U |
487 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, cw_Affaire AS P WHERE rel_owned_by0.eid_from=P.cw_eid AND rel_owned_by0.eid_to=U.cw_eid UNION SELECT 1 FROM owned_by_relation AS rel_owned_by1, cw_Note AS P WHERE rel_owned_by1.eid_from=P.cw_eid AND rel_owned_by1.eid_to=U.cw_eid)'''), |
491 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, cw_Affaire AS _P WHERE rel_owned_by0.eid_from=_P.cw_eid AND rel_owned_by0.eid_to=_U.cw_eid UNION SELECT 1 FROM owned_by_relation AS rel_owned_by1, cw_Note AS _P WHERE rel_owned_by1.eid_from=_P.cw_eid AND rel_owned_by1.eid_to=_U.cw_eid)'''), |
488 |
492 |
489 ('Any MAX(X)', |
493 ('Any MAX(X)', |
490 '''SELECT MAX(X.eid) |
494 '''SELECT MAX(_X.eid) |
491 FROM entities AS X'''), |
495 FROM entities AS _X'''), |
492 |
496 |
493 ('Any MAX(X) WHERE X is Note', |
497 ('Any MAX(X) WHERE X is Note', |
494 '''SELECT MAX(X.cw_eid) |
498 '''SELECT MAX(_X.cw_eid) |
495 FROM cw_Note AS X'''), |
499 FROM cw_Note AS _X'''), |
496 |
500 |
497 ('Any X WHERE X eid > 12', |
501 ('Any X WHERE X eid > 12', |
498 '''SELECT X.eid |
502 '''SELECT _X.eid |
499 FROM entities AS X |
503 FROM entities AS _X |
500 WHERE X.eid>12'''), |
504 WHERE _X.eid>12'''), |
501 |
505 |
502 ('Any X WHERE X eid > 12, X is Note', |
506 ('Any X WHERE X eid > 12, X is Note', |
503 """SELECT X.eid |
507 """SELECT _X.eid |
504 FROM entities AS X |
508 FROM entities AS _X |
505 WHERE X.type='Note' AND X.eid>12"""), |
509 WHERE _X.type='Note' AND _X.eid>12"""), |
506 |
510 |
507 ('Any X, T WHERE X eid > 12, X title T, X is IN (Bookmark, Card)', |
511 ('Any X, T WHERE X eid > 12, X title T, X is IN (Bookmark, Card)', |
508 """SELECT X.cw_eid, X.cw_title |
512 """SELECT _X.cw_eid, _X.cw_title |
509 FROM cw_Bookmark AS X |
513 FROM cw_Bookmark AS _X |
510 WHERE X.cw_eid>12 |
514 WHERE _X.cw_eid>12 |
511 UNION ALL |
515 UNION ALL |
512 SELECT X.cw_eid, X.cw_title |
516 SELECT _X.cw_eid, _X.cw_title |
513 FROM cw_Card AS X |
517 FROM cw_Card AS _X |
514 WHERE X.cw_eid>12"""), |
518 WHERE _X.cw_eid>12"""), |
515 |
519 |
516 ('Any X', |
520 ('Any X', |
517 '''SELECT X.eid |
521 '''SELECT _X.eid |
518 FROM entities AS X'''), |
522 FROM entities AS _X'''), |
519 |
523 |
520 ('Any X GROUPBY X WHERE X eid 12', |
524 ('Any X GROUPBY X WHERE X eid 12', |
521 '''SELECT 12'''), |
525 '''SELECT 12'''), |
522 |
526 |
523 ('Any X GROUPBY X ORDERBY Y WHERE X eid 12, X login Y', |
527 ('Any X GROUPBY X ORDERBY Y WHERE X eid 12, X login Y', |
524 '''SELECT X.cw_eid |
528 '''SELECT _X.cw_eid |
525 FROM cw_CWUser AS X |
529 FROM cw_CWUser AS _X |
526 WHERE X.cw_eid=12 |
530 WHERE _X.cw_eid=12 |
527 GROUP BY X.cw_eid,X.cw_login |
531 GROUP BY _X.cw_eid,_X.cw_login |
528 ORDER BY X.cw_login'''), |
532 ORDER BY _X.cw_login'''), |
529 |
533 |
530 ('Any U,COUNT(X) GROUPBY U WHERE U eid 12, X owned_by U HAVING COUNT(X) > 10', |
534 ('Any U,COUNT(X) GROUPBY U WHERE U eid 12, X owned_by U HAVING COUNT(X) > 10', |
531 '''SELECT rel_owned_by0.eid_to, COUNT(rel_owned_by0.eid_from) |
535 '''SELECT rel_owned_by0.eid_to, COUNT(rel_owned_by0.eid_from) |
532 FROM owned_by_relation AS rel_owned_by0 |
536 FROM owned_by_relation AS rel_owned_by0 |
533 WHERE rel_owned_by0.eid_to=12 |
537 WHERE rel_owned_by0.eid_to=12 |
534 GROUP BY rel_owned_by0.eid_to |
538 GROUP BY rel_owned_by0.eid_to |
535 HAVING COUNT(rel_owned_by0.eid_from)>10'''), |
539 HAVING COUNT(rel_owned_by0.eid_from)>10'''), |
536 |
540 |
537 ('DISTINCT Any X ORDERBY stockproc(X) WHERE U login X', |
541 ('DISTINCT Any X ORDERBY stockproc(X) WHERE U login X', |
538 '''SELECT T1.C0 FROM (SELECT DISTINCT U.cw_login AS C0, STOCKPROC(U.cw_login) AS C1 |
542 '''SELECT T1.C0 FROM (SELECT DISTINCT _U.cw_login AS C0, STOCKPROC(_U.cw_login) AS C1 |
539 FROM cw_CWUser AS U |
543 FROM cw_CWUser AS _U |
540 ORDER BY 2) AS T1'''), |
544 ORDER BY 2) AS T1'''), |
541 |
545 |
542 ('DISTINCT Any X ORDERBY Y WHERE B bookmarked_by X, X login Y', |
546 ('DISTINCT Any X ORDERBY Y WHERE B bookmarked_by X, X login Y', |
543 '''SELECT T1.C0 FROM (SELECT DISTINCT X.cw_eid AS C0, X.cw_login AS C1 |
547 '''SELECT T1.C0 FROM (SELECT DISTINCT _X.cw_eid AS C0, _X.cw_login AS C1 |
544 FROM bookmarked_by_relation AS rel_bookmarked_by0, cw_CWUser AS X |
548 FROM bookmarked_by_relation AS rel_bookmarked_by0, cw_CWUser AS _X |
545 WHERE rel_bookmarked_by0.eid_to=X.cw_eid |
549 WHERE rel_bookmarked_by0.eid_to=_X.cw_eid |
546 ORDER BY 2) AS T1'''), |
550 ORDER BY 2) AS T1'''), |
547 |
551 |
548 ('DISTINCT Any X ORDERBY SN WHERE X in_state S, S name SN', |
552 ('DISTINCT Any X ORDERBY SN WHERE X in_state S, S name SN', |
549 '''SELECT T1.C0 FROM (SELECT DISTINCT X.cw_eid AS C0, S.cw_name AS C1 |
553 '''SELECT T1.C0 FROM (SELECT DISTINCT _X.cw_eid AS C0, _S.cw_name AS C1 |
550 FROM cw_Affaire AS X, cw_State AS S |
554 FROM cw_Affaire AS _X, cw_State AS _S |
551 WHERE X.cw_in_state=S.cw_eid |
555 WHERE _X.cw_in_state=_S.cw_eid |
552 UNION |
556 UNION |
553 SELECT DISTINCT X.cw_eid AS C0, S.cw_name AS C1 |
557 SELECT DISTINCT _X.cw_eid AS C0, _S.cw_name AS C1 |
554 FROM cw_CWUser AS X, cw_State AS S |
558 FROM cw_CWUser AS _X, cw_State AS _S |
555 WHERE X.cw_in_state=S.cw_eid |
559 WHERE _X.cw_in_state=_S.cw_eid |
556 UNION |
560 UNION |
557 SELECT DISTINCT X.cw_eid AS C0, S.cw_name AS C1 |
561 SELECT DISTINCT _X.cw_eid AS C0, _S.cw_name AS C1 |
558 FROM cw_Note AS X, cw_State AS S |
562 FROM cw_Note AS _X, cw_State AS _S |
559 WHERE X.cw_in_state=S.cw_eid |
563 WHERE _X.cw_in_state=_S.cw_eid |
560 ORDER BY 2) AS T1'''), |
564 ORDER BY 2) AS T1'''), |
561 |
565 |
562 ('Any O,AA,AB,AC ORDERBY AC DESC ' |
566 ('Any O,AA,AB,AC ORDERBY AC DESC ' |
563 'WHERE NOT S use_email O, S eid 1, O is EmailAddress, O address AA, O alias AB, O modification_date AC, ' |
567 'WHERE NOT S use_email O, S eid 1, O is EmailAddress, O address AA, O alias AB, O modification_date AC, ' |
564 'EXISTS(A use_email O, EXISTS(A identity B, NOT B in_group D, D name "guests", D is CWGroup), A is CWUser), B eid 2', |
568 'EXISTS(A use_email O, EXISTS(A identity B, NOT B in_group D, D name "guests", D is CWGroup), A is CWUser), B eid 2', |
565 '''SELECT O.cw_eid, O.cw_address, O.cw_alias, O.cw_modification_date |
569 '''SELECT _O.cw_eid, _O.cw_address, _O.cw_alias, _O.cw_modification_date |
566 FROM cw_EmailAddress AS O |
570 FROM cw_EmailAddress AS _O |
567 WHERE NOT EXISTS(SELECT 1 FROM use_email_relation AS rel_use_email0 WHERE rel_use_email0.eid_from=1 AND rel_use_email0.eid_to=O.cw_eid) AND EXISTS(SELECT 1 FROM use_email_relation AS rel_use_email1 WHERE rel_use_email1.eid_to=O.cw_eid AND EXISTS(SELECT 1 FROM cw_CWGroup AS D WHERE rel_use_email1.eid_from=2 AND NOT EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group2 WHERE rel_in_group2.eid_from=2 AND rel_in_group2.eid_to=D.cw_eid) AND D.cw_name=guests)) |
571 WHERE NOT EXISTS(SELECT 1 FROM use_email_relation AS rel_use_email0 WHERE rel_use_email0.eid_from=1 AND rel_use_email0.eid_to=_O.cw_eid) AND EXISTS(SELECT 1 FROM use_email_relation AS rel_use_email1 WHERE rel_use_email1.eid_to=_O.cw_eid AND EXISTS(SELECT 1 FROM cw_CWGroup AS _D WHERE rel_use_email1.eid_from=2 AND NOT EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group2 WHERE rel_in_group2.eid_from=2 AND rel_in_group2.eid_to=_D.cw_eid) AND _D.cw_name=guests)) |
568 ORDER BY 4 DESC'''), |
572 ORDER BY 4 DESC'''), |
569 |
573 |
570 |
574 |
571 ("Any X WHERE X eid 0, X eid 0", |
575 ("Any X WHERE X eid 0, X eid 0", |
572 '''SELECT 0'''), |
576 '''SELECT 0'''), |
573 |
577 |
574 ("Any X WHERE X eid 0, X eid 0, X test TRUE", |
578 ("Any X WHERE X eid 0, X eid 0, X test TRUE", |
575 '''SELECT X.cw_eid |
579 '''SELECT _X.cw_eid |
576 FROM cw_Personne AS X |
580 FROM cw_Personne AS _X |
577 WHERE X.cw_eid=0 AND X.cw_eid=0 AND X.cw_test=TRUE'''), |
581 WHERE _X.cw_eid=0 AND _X.cw_eid=0 AND _X.cw_test=TRUE'''), |
578 |
582 |
579 ("Any X,GROUP_CONCAT(TN) GROUPBY X ORDERBY XN WHERE T tags X, X name XN, T name TN, X is CWGroup", |
583 ("Any X,GROUP_CONCAT(TN) GROUPBY X ORDERBY XN WHERE T tags X, X name XN, T name TN, X is CWGroup", |
580 '''SELECT X.cw_eid, GROUP_CONCAT(T.cw_name) |
584 '''SELECT _X.cw_eid, GROUP_CONCAT(_T.cw_name) |
581 FROM cw_CWGroup AS X, cw_Tag AS T, tags_relation AS rel_tags0 |
585 FROM cw_CWGroup AS _X, cw_Tag AS _T, tags_relation AS rel_tags0 |
582 WHERE rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=X.cw_eid |
586 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid |
583 GROUP BY X.cw_eid,X.cw_name |
587 GROUP BY _X.cw_eid,_X.cw_name |
584 ORDER BY X.cw_name'''), |
588 ORDER BY _X.cw_name'''), |
585 |
589 |
586 ("Any X,GROUP_CONCAT(TN) GROUPBY X ORDERBY XN WHERE T tags X, X name XN, T name TN", |
590 ("Any X,GROUP_CONCAT(TN) GROUPBY X ORDERBY XN WHERE T tags X, X name XN, T name TN", |
587 '''SELECT T1.C0, GROUP_CONCAT(T1.C1) FROM (SELECT X.cw_eid AS C0, T.cw_name AS C1, X.cw_name AS C2 |
591 '''SELECT T1.C0, GROUP_CONCAT(T1.C1) FROM (SELECT _X.cw_eid AS C0, _T.cw_name AS C1, _X.cw_name AS C2 |
588 FROM cw_CWGroup AS X, cw_Tag AS T, tags_relation AS rel_tags0 |
592 FROM cw_CWGroup AS _X, cw_Tag AS _T, tags_relation AS rel_tags0 |
589 WHERE rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=X.cw_eid |
593 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid |
590 UNION ALL |
594 UNION ALL |
591 SELECT X.cw_eid AS C0, T.cw_name AS C1, X.cw_name AS C2 |
595 SELECT _X.cw_eid AS C0, _T.cw_name AS C1, _X.cw_name AS C2 |
592 FROM cw_State AS X, cw_Tag AS T, tags_relation AS rel_tags0 |
596 FROM cw_State AS _X, cw_Tag AS _T, tags_relation AS rel_tags0 |
593 WHERE rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=X.cw_eid |
597 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid |
594 UNION ALL |
598 UNION ALL |
595 SELECT X.cw_eid AS C0, T.cw_name AS C1, X.cw_name AS C2 |
599 SELECT _X.cw_eid AS C0, _T.cw_name AS C1, _X.cw_name AS C2 |
596 FROM cw_Tag AS T, cw_Tag AS X, tags_relation AS rel_tags0 |
600 FROM cw_Tag AS _T, cw_Tag AS _X, tags_relation AS rel_tags0 |
597 WHERE rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=X.cw_eid) AS T1 |
601 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid) AS T1 |
598 GROUP BY T1.C0,T1.C2 |
602 GROUP BY T1.C0,T1.C2 |
599 ORDER BY T1.C2'''), |
603 ORDER BY T1.C2'''), |
600 |
604 |
601 ] |
605 ] |
602 |
606 |
603 MULTIPLE_SEL = [ |
607 MULTIPLE_SEL = [ |
604 ("DISTINCT Any X,Y where P is Personne, P nom X , P prenom Y;", |
608 ("DISTINCT Any X,Y where P is Personne, P nom X , P prenom Y;", |
605 '''SELECT DISTINCT P.cw_nom, P.cw_prenom |
609 '''SELECT DISTINCT _P.cw_nom, _P.cw_prenom |
606 FROM cw_Personne AS P'''), |
610 FROM cw_Personne AS _P'''), |
607 ("Any X,Y where P is Personne, P nom X , P prenom Y, not P nom NULL;", |
611 ("Any X,Y where P is Personne, P nom X , P prenom Y, not P nom NULL;", |
608 '''SELECT P.cw_nom, P.cw_prenom |
612 '''SELECT _P.cw_nom, _P.cw_prenom |
609 FROM cw_Personne AS P |
613 FROM cw_Personne AS _P |
610 WHERE NOT (P.cw_nom IS NULL)'''), |
614 WHERE NOT (_P.cw_nom IS NULL)'''), |
611 ("Personne X,Y where X nom NX, Y nom NX, X eid XE, not Y eid XE", |
615 ("Personne X,Y where X nom NX, Y nom NX, X eid XE, not Y eid XE", |
612 '''SELECT X.cw_eid, Y.cw_eid |
616 '''SELECT _X.cw_eid, _Y.cw_eid |
613 FROM cw_Personne AS X, cw_Personne AS Y |
617 FROM cw_Personne AS _X, cw_Personne AS _Y |
614 WHERE Y.cw_nom=X.cw_nom AND NOT (Y.cw_eid=X.cw_eid)''') |
618 WHERE _Y.cw_nom=_X.cw_nom AND NOT (_Y.cw_eid=_X.cw_eid)''') |
615 ] |
619 ] |
616 |
620 |
617 NEGATIONS = [ |
621 NEGATIONS = [ |
618 ("Personne X WHERE NOT X evaluee Y;", |
622 ("Personne X WHERE NOT X evaluee Y;", |
619 '''SELECT X.cw_eid |
623 '''SELECT _X.cw_eid |
620 FROM cw_Personne AS X |
624 FROM cw_Personne AS _X |
621 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=X.cw_eid)'''), |
625 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_X.cw_eid)'''), |
622 |
626 |
623 ("Note N WHERE NOT X evaluee N, X eid 0", |
627 ("Note N WHERE NOT X evaluee N, X eid 0", |
624 '''SELECT N.cw_eid |
628 '''SELECT _N.cw_eid |
625 FROM cw_Note AS N |
629 FROM cw_Note AS _N |
626 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=0 AND rel_evaluee0.eid_to=N.cw_eid)'''), |
630 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=0 AND rel_evaluee0.eid_to=_N.cw_eid)'''), |
627 |
631 |
628 ('Any X WHERE NOT X travaille S, X is Personne', |
632 ('Any X WHERE NOT X travaille S, X is Personne', |
629 '''SELECT X.cw_eid |
633 '''SELECT _X.cw_eid |
630 FROM cw_Personne AS X |
634 FROM cw_Personne AS _X |
631 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=X.cw_eid)'''), |
635 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=_X.cw_eid)'''), |
632 |
636 |
633 ("Personne P where not P datenaiss TODAY", |
637 ("Personne P where not P datenaiss TODAY", |
634 '''SELECT P.cw_eid |
638 '''SELECT _P.cw_eid |
635 FROM cw_Personne AS P |
639 FROM cw_Personne AS _P |
636 WHERE NOT (DATE(P.cw_datenaiss)=CURRENT_DATE)'''), |
640 WHERE NOT (DATE(_P.cw_datenaiss)=CURRENT_DATE)'''), |
637 |
641 |
638 ("Personne P where NOT P concerne A", |
642 ("Personne P where NOT P concerne A", |
639 '''SELECT P.cw_eid |
643 '''SELECT _P.cw_eid |
640 FROM cw_Personne AS P |
644 FROM cw_Personne AS _P |
641 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_from=P.cw_eid)'''), |
645 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_from=_P.cw_eid)'''), |
642 |
646 |
643 ("Affaire A where not P concerne A", |
647 ("Affaire A where not P concerne A", |
644 '''SELECT A.cw_eid |
648 '''SELECT _A.cw_eid |
645 FROM cw_Affaire AS A |
649 FROM cw_Affaire AS _A |
646 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_to=A.cw_eid)'''), |
650 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_to=_A.cw_eid)'''), |
647 ("Personne P where not P concerne A, A sujet ~= 'TEST%'", |
651 ("Personne P where not P concerne A, A sujet ~= 'TEST%'", |
648 '''SELECT P.cw_eid |
652 '''SELECT _P.cw_eid |
649 FROM cw_Affaire AS A, cw_Personne AS P |
653 FROM cw_Affaire AS _A, cw_Personne AS _P |
650 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_from=P.cw_eid AND rel_concerne0.eid_to=A.cw_eid) AND A.cw_sujet ILIKE TEST%'''), |
654 WHERE NOT EXISTS(SELECT 1 FROM concerne_relation AS rel_concerne0 WHERE rel_concerne0.eid_from=_P.cw_eid AND rel_concerne0.eid_to=_A.cw_eid) AND _A.cw_sujet ILIKE TEST%'''), |
651 |
655 |
652 ('Any S WHERE NOT T eid 28258, T tags S', |
656 ('Any S WHERE NOT T eid 28258, T tags S', |
653 '''SELECT rel_tags0.eid_to |
657 '''SELECT rel_tags0.eid_to |
654 FROM tags_relation AS rel_tags0 |
658 FROM tags_relation AS rel_tags0 |
655 WHERE NOT (rel_tags0.eid_from=28258)'''), |
659 WHERE NOT (rel_tags0.eid_from=28258)'''), |
656 |
660 |
657 ('Any S WHERE T is Tag, T name TN, NOT T eid 28258, T tags S, S name SN', |
661 ('Any S WHERE T is Tag, T name TN, NOT T eid 28258, T tags S, S name SN', |
658 '''SELECT S.cw_eid |
662 '''SELECT _S.cw_eid |
659 FROM cw_CWGroup AS S, cw_Tag AS T, tags_relation AS rel_tags0 |
663 FROM cw_CWGroup AS _S, cw_Tag AS _T, tags_relation AS rel_tags0 |
660 WHERE NOT (T.cw_eid=28258) AND rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=S.cw_eid |
664 WHERE NOT (_T.cw_eid=28258) AND rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_S.cw_eid |
661 UNION ALL |
665 UNION ALL |
662 SELECT S.cw_eid |
666 SELECT _S.cw_eid |
663 FROM cw_State AS S, cw_Tag AS T, tags_relation AS rel_tags0 |
667 FROM cw_State AS _S, cw_Tag AS _T, tags_relation AS rel_tags0 |
664 WHERE NOT (T.cw_eid=28258) AND rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=S.cw_eid |
668 WHERE NOT (_T.cw_eid=28258) AND rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_S.cw_eid |
665 UNION ALL |
669 UNION ALL |
666 SELECT S.cw_eid |
670 SELECT _S.cw_eid |
667 FROM cw_Tag AS S, cw_Tag AS T, tags_relation AS rel_tags0 |
671 FROM cw_Tag AS _S, cw_Tag AS _T, tags_relation AS rel_tags0 |
668 WHERE NOT (T.cw_eid=28258) AND rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=S.cw_eid'''), |
672 WHERE NOT (_T.cw_eid=28258) AND rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_S.cw_eid'''), |
669 |
673 |
670 ('Any X,Y WHERE X created_by Y, X eid 5, NOT Y eid 6', |
674 ('Any X,Y WHERE X created_by Y, X eid 5, NOT Y eid 6', |
671 '''SELECT 5, rel_created_by0.eid_to |
675 '''SELECT 5, rel_created_by0.eid_to |
672 FROM created_by_relation AS rel_created_by0 |
676 FROM created_by_relation AS rel_created_by0 |
673 WHERE rel_created_by0.eid_from=5 AND NOT (rel_created_by0.eid_to=6)'''), |
677 WHERE rel_created_by0.eid_from=5 AND NOT (rel_created_by0.eid_to=6)'''), |
674 |
678 |
675 ('Note X WHERE NOT Y evaluee X', |
679 ('Note X WHERE NOT Y evaluee X', |
676 '''SELECT X.cw_eid |
680 '''SELECT _X.cw_eid |
677 FROM cw_Note AS X |
681 FROM cw_Note AS _X |
678 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_to=X.cw_eid)'''), |
682 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_to=_X.cw_eid)'''), |
679 |
683 |
680 ('Any Y WHERE NOT Y evaluee X', |
684 ('Any Y WHERE NOT Y evaluee X', |
681 '''SELECT Y.cw_eid |
685 '''SELECT _Y.cw_eid |
682 FROM cw_CWUser AS Y |
686 FROM cw_CWUser AS _Y |
683 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=Y.cw_eid) |
687 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_Y.cw_eid) |
684 UNION ALL |
688 UNION ALL |
685 SELECT Y.cw_eid |
689 SELECT _Y.cw_eid |
686 FROM cw_Division AS Y |
690 FROM cw_Division AS _Y |
687 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=Y.cw_eid) |
691 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_Y.cw_eid) |
688 UNION ALL |
692 UNION ALL |
689 SELECT Y.cw_eid |
693 SELECT _Y.cw_eid |
690 FROM cw_Personne AS Y |
694 FROM cw_Personne AS _Y |
691 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=Y.cw_eid) |
695 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_Y.cw_eid) |
692 UNION ALL |
696 UNION ALL |
693 SELECT Y.cw_eid |
697 SELECT _Y.cw_eid |
694 FROM cw_Societe AS Y |
698 FROM cw_Societe AS _Y |
695 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=Y.cw_eid) |
699 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_Y.cw_eid) |
696 UNION ALL |
700 UNION ALL |
697 SELECT Y.cw_eid |
701 SELECT _Y.cw_eid |
698 FROM cw_SubDivision AS Y |
702 FROM cw_SubDivision AS _Y |
699 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=Y.cw_eid)'''), |
703 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0 WHERE rel_evaluee0.eid_from=_Y.cw_eid)'''), |
700 |
704 |
701 ('Any X WHERE NOT Y evaluee X, Y is CWUser', |
705 ('Any X WHERE NOT Y evaluee X, Y is CWUser', |
702 '''SELECT X.cw_eid |
706 '''SELECT _X.cw_eid |
703 FROM cw_Note AS X |
707 FROM cw_Note AS _X |
704 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0,cw_CWUser AS Y WHERE rel_evaluee0.eid_from=Y.cw_eid AND rel_evaluee0.eid_to=X.cw_eid)'''), |
708 WHERE NOT EXISTS(SELECT 1 FROM evaluee_relation AS rel_evaluee0,cw_CWUser AS _Y WHERE rel_evaluee0.eid_from=_Y.cw_eid AND rel_evaluee0.eid_to=_X.cw_eid)'''), |
705 |
709 |
706 ('Any X,RT WHERE X relation_type RT, NOT X is CWAttribute', |
710 ('Any X,RT WHERE X relation_type RT, NOT X is CWAttribute', |
707 '''SELECT X.cw_eid, X.cw_relation_type |
711 '''SELECT _X.cw_eid, _X.cw_relation_type |
708 FROM cw_CWRelation AS X |
712 FROM cw_CWRelation AS _X |
709 WHERE X.cw_relation_type IS NOT NULL'''), |
713 WHERE _X.cw_relation_type IS NOT NULL'''), |
710 |
714 |
711 ('Any K,V WHERE P is CWProperty, P pkey K, P value V, NOT P for_user U', |
715 ('Any K,V WHERE P is CWProperty, P pkey K, P value V, NOT P for_user U', |
712 '''SELECT P.cw_pkey, P.cw_value |
716 '''SELECT _P.cw_pkey, _P.cw_value |
713 FROM cw_CWProperty AS P |
717 FROM cw_CWProperty AS _P |
714 WHERE P.cw_for_user IS NULL'''), |
718 WHERE _P.cw_for_user IS NULL'''), |
715 |
719 |
716 ('Any S WHERE NOT X in_state S, X is IN(Affaire, CWUser)', |
720 ('Any S WHERE NOT X in_state S, X is IN(Affaire, CWUser)', |
717 '''SELECT S.cw_eid |
721 '''SELECT _S.cw_eid |
718 FROM cw_State AS S |
722 FROM cw_State AS _S |
719 WHERE NOT EXISTS(SELECT 1 FROM cw_Affaire AS X WHERE X.cw_in_state=S.cw_eid) |
723 WHERE NOT EXISTS(SELECT 1 FROM cw_Affaire AS _X WHERE _X.cw_in_state=_S.cw_eid) |
720 INTERSECT |
724 INTERSECT |
721 SELECT S.cw_eid |
725 SELECT _S.cw_eid |
722 FROM cw_State AS S |
726 FROM cw_State AS _S |
723 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS X WHERE X.cw_in_state=S.cw_eid)'''), |
727 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS _X WHERE _X.cw_in_state=_S.cw_eid)'''), |
724 |
728 |
725 ('Any S WHERE NOT(X in_state S, S name "somename"), X is CWUser', |
729 ('Any S WHERE NOT(X in_state S, S name "somename"), X is CWUser', |
726 '''SELECT S.cw_eid |
730 '''SELECT _S.cw_eid |
727 FROM cw_State AS S |
731 FROM cw_State AS _S |
728 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS X WHERE X.cw_in_state=S.cw_eid AND S.cw_name=somename)'''), |
732 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS _X WHERE _X.cw_in_state=_S.cw_eid AND _S.cw_name=somename)'''), |
729 |
733 |
730 # XXXFIXME fail |
734 # XXXFIXME fail |
731 # ('Any X,RT WHERE X relation_type RT?, NOT X is CWAttribute', |
735 # ('Any X,RT WHERE X relation_type RT?, NOT X is CWAttribute', |
732 # '''SELECT X.cw_eid, X.cw_relation_type |
736 # '''SELECT _X.cw_eid, _X.cw_relation_type |
733 # FROM cw_CWRelation AS X'''), |
737 # FROM cw_CWRelation AS _X'''), |
734 ] |
738 ] |
735 |
739 |
736 OUTER_JOIN = [ |
740 OUTER_JOIN = [ |
737 ('Any X,S WHERE X travaille S?', |
741 ('Any X,S WHERE X travaille S?', |
738 '''SELECT X.cw_eid, rel_travaille0.eid_to |
742 '''SELECT _X.cw_eid, rel_travaille0.eid_to |
739 FROM cw_Personne AS X LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_from=X.cw_eid)''' |
743 FROM cw_Personne AS _X LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_from=_X.cw_eid)''' |
740 ), |
744 ), |
741 ('Any S,X WHERE X? travaille S, S is Societe', |
745 ('Any S,X WHERE X? travaille S, S is Societe', |
742 '''SELECT S.cw_eid, rel_travaille0.eid_from |
746 '''SELECT _S.cw_eid, rel_travaille0.eid_from |
743 FROM cw_Societe AS S LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_to=S.cw_eid)''' |
747 FROM cw_Societe AS _S LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_to=_S.cw_eid)''' |
744 ), |
748 ), |
745 |
749 |
746 ('Any N,A WHERE N inline1 A?', |
750 ('Any N,A WHERE N inline1 A?', |
747 '''SELECT N.cw_eid, N.cw_inline1 |
751 '''SELECT _N.cw_eid, _N.cw_inline1 |
748 FROM cw_Note AS N'''), |
752 FROM cw_Note AS _N'''), |
749 |
753 |
750 ('Any SN WHERE X from_state S?, S name SN', |
754 ('Any SN WHERE X from_state S?, S name SN', |
751 '''SELECT S.cw_name |
755 '''SELECT _S.cw_name |
752 FROM cw_TrInfo AS X LEFT OUTER JOIN cw_State AS S ON (X.cw_from_state=S.cw_eid)''' |
756 FROM cw_TrInfo AS _X LEFT OUTER JOIN cw_State AS _S ON (_X.cw_from_state=_S.cw_eid)''' |
753 ), |
757 ), |
754 |
758 |
755 ('Any A,N WHERE N? inline1 A', |
759 ('Any A,N WHERE N? inline1 A', |
756 '''SELECT A.cw_eid, N.cw_eid |
760 '''SELECT _A.cw_eid, _N.cw_eid |
757 FROM cw_Affaire AS A LEFT OUTER JOIN cw_Note AS N ON (N.cw_inline1=A.cw_eid)''' |
761 FROM cw_Affaire AS _A LEFT OUTER JOIN cw_Note AS _N ON (_N.cw_inline1=_A.cw_eid)''' |
758 ), |
762 ), |
759 |
763 |
760 ('Any A,B,C,D,E,F,G WHERE A eid 12,A creation_date B,A modification_date C,A comment D,A from_state E?,A to_state F?,A wf_info_for G?', |
764 ('Any A,B,C,D,E,F,G WHERE A eid 12,A creation_date B,A modification_date C,A comment D,A from_state E?,A to_state F?,A wf_info_for G?', |
761 '''SELECT A.cw_eid, A.cw_creation_date, A.cw_modification_date, A.cw_comment, A.cw_from_state, A.cw_to_state, A.cw_wf_info_for |
765 '''SELECT _A.cw_eid, _A.cw_creation_date, _A.cw_modification_date, _A.cw_comment, _A.cw_from_state, _A.cw_to_state, _A.cw_wf_info_for |
762 FROM cw_TrInfo AS A |
766 FROM cw_TrInfo AS _A |
763 WHERE A.cw_eid=12'''), |
767 WHERE _A.cw_eid=12'''), |
764 |
768 |
765 ('Any FS,TS,C,D,U ORDERBY D DESC WHERE WF wf_info_for X,WF from_state FS?, WF to_state TS, WF comment C,WF creation_date D, WF owned_by U, X eid 1', |
769 ('Any FS,TS,C,D,U ORDERBY D DESC WHERE WF wf_info_for X,WF from_state FS?, WF to_state TS, WF comment C,WF creation_date D, WF owned_by U, X eid 1', |
766 '''SELECT WF.cw_from_state, WF.cw_to_state, WF.cw_comment, WF.cw_creation_date, rel_owned_by0.eid_to |
770 '''SELECT _WF.cw_from_state, _WF.cw_to_state, _WF.cw_comment, _WF.cw_creation_date, rel_owned_by0.eid_to |
767 FROM cw_TrInfo AS WF, owned_by_relation AS rel_owned_by0 |
771 FROM cw_TrInfo AS _WF, owned_by_relation AS rel_owned_by0 |
768 WHERE WF.cw_wf_info_for=1 AND WF.cw_to_state IS NOT NULL AND rel_owned_by0.eid_from=WF.cw_eid |
772 WHERE _WF.cw_wf_info_for=1 AND _WF.cw_to_state IS NOT NULL AND rel_owned_by0.eid_from=_WF.cw_eid |
769 ORDER BY 4 DESC'''), |
773 ORDER BY 4 DESC'''), |
770 |
774 |
771 ('Any X WHERE X is Affaire, S is Societe, EXISTS(X owned_by U OR (X concerne S?, S owned_by U))', |
775 ('Any X WHERE X is Affaire, S is Societe, EXISTS(X owned_by U OR (X concerne S?, S owned_by U))', |
772 '''SELECT X.cw_eid |
776 '''SELECT _X.cw_eid |
773 FROM cw_Affaire AS X |
777 FROM cw_Affaire AS _X |
774 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, cw_CWUser AS U, cw_Affaire AS A LEFT OUTER JOIN concerne_relation AS rel_concerne1 ON (rel_concerne1.eid_from=A.cw_eid) LEFT OUTER JOIN cw_Societe AS S ON (rel_concerne1.eid_to=S.cw_eid), owned_by_relation AS rel_owned_by2 WHERE ((rel_owned_by0.eid_from=A.cw_eid AND rel_owned_by0.eid_to=U.cw_eid) OR (rel_owned_by2.eid_from=S.cw_eid AND rel_owned_by2.eid_to=U.cw_eid)) AND X.cw_eid=A.cw_eid)'''), |
778 WHERE EXISTS(SELECT 1 FROM owned_by_relation AS rel_owned_by0, cw_CWUser AS _U, cw_Affaire AS _A LEFT OUTER JOIN concerne_relation AS rel_concerne1 ON (rel_concerne1.eid_from=_A.cw_eid) LEFT OUTER JOIN cw_Societe AS _S ON (rel_concerne1.eid_to=_S.cw_eid), owned_by_relation AS rel_owned_by2 WHERE ((rel_owned_by0.eid_from=_A.cw_eid AND rel_owned_by0.eid_to=_U.cw_eid) OR (rel_owned_by2.eid_from=_S.cw_eid AND rel_owned_by2.eid_to=_U.cw_eid)) AND _X.cw_eid=_A.cw_eid)'''), |
775 |
779 |
776 ('Any C,M WHERE C travaille G?, G evaluee M?, G is Societe', |
780 ('Any C,M WHERE C travaille G?, G evaluee M?, G is Societe', |
777 '''SELECT C.cw_eid, rel_evaluee1.eid_to |
781 '''SELECT _C.cw_eid, rel_evaluee1.eid_to |
778 FROM cw_Personne AS C LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_from=C.cw_eid) LEFT OUTER JOIN cw_Societe AS G ON (rel_travaille0.eid_to=G.cw_eid) LEFT OUTER JOIN evaluee_relation AS rel_evaluee1 ON (rel_evaluee1.eid_from=G.cw_eid)''' |
782 FROM cw_Personne AS _C LEFT OUTER JOIN travaille_relation AS rel_travaille0 ON (rel_travaille0.eid_from=_C.cw_eid) LEFT OUTER JOIN cw_Societe AS _G ON (rel_travaille0.eid_to=_G.cw_eid) LEFT OUTER JOIN evaluee_relation AS rel_evaluee1 ON (rel_evaluee1.eid_from=_G.cw_eid)''' |
779 ), |
783 ), |
780 |
784 |
781 ('Any A,C WHERE A documented_by C?, (C is NULL) OR (EXISTS(C require_permission F, ' |
785 ('Any A,C WHERE A documented_by C?, (C is NULL) OR (EXISTS(C require_permission F, ' |
782 'F name "read", F require_group E, U in_group E)), U eid 1', |
786 'F name "read", F require_group E, U in_group E)), U eid 1', |
783 '''SELECT A.cw_eid, rel_documented_by0.eid_to |
787 '''SELECT _A.cw_eid, rel_documented_by0.eid_to |
784 FROM cw_Affaire AS A LEFT OUTER JOIN documented_by_relation AS rel_documented_by0 ON (rel_documented_by0.eid_from=A.cw_eid) |
788 FROM cw_Affaire AS _A LEFT OUTER JOIN documented_by_relation AS rel_documented_by0 ON (rel_documented_by0.eid_from=_A.cw_eid) |
785 WHERE ((rel_documented_by0.eid_to IS NULL) OR (EXISTS(SELECT 1 FROM require_permission_relation AS rel_require_permission1, cw_CWPermission AS F, require_group_relation AS rel_require_group2, in_group_relation AS rel_in_group3 WHERE rel_documented_by0.eid_to=rel_require_permission1.eid_from AND rel_require_permission1.eid_to=F.cw_eid AND F.cw_name=read AND rel_require_group2.eid_from=F.cw_eid AND rel_in_group3.eid_to=rel_require_group2.eid_to AND rel_in_group3.eid_from=1)))'''), |
789 WHERE ((rel_documented_by0.eid_to IS NULL) OR (EXISTS(SELECT 1 FROM require_permission_relation AS rel_require_permission1, cw_CWPermission AS _F, require_group_relation AS rel_require_group2, in_group_relation AS rel_in_group3 WHERE rel_documented_by0.eid_to=rel_require_permission1.eid_from AND rel_require_permission1.eid_to=_F.cw_eid AND _F.cw_name=read AND rel_require_group2.eid_from=_F.cw_eid AND rel_in_group3.eid_to=rel_require_group2.eid_to AND rel_in_group3.eid_from=1)))'''), |
786 |
790 |
787 ("Any X WHERE X eid 12, P? connait X", |
791 ("Any X WHERE X eid 12, P? connait X", |
788 '''SELECT X.cw_eid |
792 '''SELECT _X.cw_eid |
789 FROM cw_Personne AS X LEFT OUTER JOIN connait_relation AS rel_connait0 ON (rel_connait0.eid_to=12) |
793 FROM cw_Personne AS _X LEFT OUTER JOIN connait_relation AS rel_connait0 ON (rel_connait0.eid_to=12) |
790 WHERE X.cw_eid=12''' |
794 WHERE _X.cw_eid=12''' |
791 ), |
795 ), |
792 |
796 |
793 ('Any GN, TN ORDERBY GN WHERE T tags G?, T name TN, G name GN', |
797 ('Any GN, TN ORDERBY GN WHERE T tags G?, T name TN, G name GN', |
794 ''' |
798 ''' |
795 SELECT _T0.C1, T.cw_name |
799 SELECT _T0.C1, _T.cw_name |
796 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN (SELECT G.cw_eid AS C0, G.cw_name AS C1 |
800 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN (SELECT _G.cw_eid AS C0, _G.cw_name AS C1 |
797 FROM cw_CWGroup AS G |
801 FROM cw_CWGroup AS _G |
798 UNION ALL |
802 UNION ALL |
799 SELECT G.cw_eid AS C0, G.cw_name AS C1 |
803 SELECT _G.cw_eid AS C0, _G.cw_name AS C1 |
800 FROM cw_State AS G |
804 FROM cw_State AS _G |
801 UNION ALL |
805 UNION ALL |
802 SELECT G.cw_eid AS C0, G.cw_name AS C1 |
806 SELECT _G.cw_eid AS C0, _G.cw_name AS C1 |
803 FROM cw_Tag AS G) AS _T0 ON (rel_tags0.eid_to=_T0.C0) |
807 FROM cw_Tag AS _G) AS _T0 ON (rel_tags0.eid_to=_T0.C0) |
804 ORDER BY 1'''), |
808 ORDER BY 1'''), |
805 |
809 |
806 |
810 |
807 # optional variable with additional restriction |
811 # optional variable with additional restriction |
808 ('Any T,G WHERE T tags G?, G name "hop", G is CWGroup', |
812 ('Any T,G WHERE T tags G?, G name "hop", G is CWGroup', |
809 '''SELECT T.cw_eid, G.cw_eid |
813 '''SELECT _T.cw_eid, _G.cw_eid |
810 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN cw_CWGroup AS G ON (rel_tags0.eid_to=G.cw_eid AND G.cw_name=hop)'''), |
814 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN cw_CWGroup AS _G ON (rel_tags0.eid_to=_G.cw_eid AND _G.cw_name=hop)'''), |
811 |
815 |
812 # optional variable with additional invariant restriction |
816 # optional variable with additional invariant restriction |
813 ('Any T,G WHERE T tags G?, G eid 12', |
817 ('Any T,G WHERE T tags G?, G eid 12', |
814 '''SELECT T.cw_eid, rel_tags0.eid_to |
818 '''SELECT _T.cw_eid, rel_tags0.eid_to |
815 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid AND rel_tags0.eid_to=12)'''), |
819 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=12)'''), |
816 |
820 |
817 # optional variable with additional restriction appearing before the relation |
821 # optional variable with additional restriction appearing before the relation |
818 ('Any T,G WHERE G name "hop", T tags G?, G is CWGroup', |
822 ('Any T,G WHERE G name "hop", T tags G?, G is CWGroup', |
819 '''SELECT T.cw_eid, G.cw_eid |
823 '''SELECT _T.cw_eid, _G.cw_eid |
820 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN cw_CWGroup AS G ON (rel_tags0.eid_to=G.cw_eid AND G.cw_name=hop)'''), |
824 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN cw_CWGroup AS _G ON (rel_tags0.eid_to=_G.cw_eid AND _G.cw_name=hop)'''), |
821 |
825 |
822 # optional variable with additional restriction on inlined relation |
826 # optional variable with additional restriction on inlined relation |
823 # XXX the expected result should be as the query below. So what, raise BadRQLQuery ? |
827 # XXX the expected result should be as the query below. So what, raise BadRQLQuery ? |
824 ('Any T,G,S WHERE T tags G?, G in_state S, S name "hop", G is CWUser', |
828 ('Any T,G,S WHERE T tags G?, G in_state S, S name "hop", G is CWUser', |
825 '''SELECT T.cw_eid, G.cw_eid, S.cw_eid |
829 '''SELECT _T.cw_eid, _G.cw_eid, _S.cw_eid |
826 FROM cw_State AS S, cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN cw_CWUser AS G ON (rel_tags0.eid_to=G.cw_eid) |
830 FROM cw_State AS _S, cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN cw_CWUser AS _G ON (rel_tags0.eid_to=_G.cw_eid) |
827 WHERE G.cw_in_state=S.cw_eid AND S.cw_name=hop |
831 WHERE _G.cw_in_state=_S.cw_eid AND _S.cw_name=hop |
828 '''), |
832 '''), |
829 |
833 |
830 # optional variable with additional invariant restriction on an inlined relation |
834 # optional variable with additional invariant restriction on an inlined relation |
831 ('Any T,G,S WHERE T tags G, G in_state S?, S eid 1, G is CWUser', |
835 ('Any T,G,S WHERE T tags G, G in_state S?, S eid 1, G is CWUser', |
832 '''SELECT rel_tags0.eid_from, G.cw_eid, G.cw_in_state |
836 '''SELECT rel_tags0.eid_from, _G.cw_eid, _G.cw_in_state |
833 FROM cw_CWUser AS G, tags_relation AS rel_tags0 |
837 FROM cw_CWUser AS _G, tags_relation AS rel_tags0 |
834 WHERE rel_tags0.eid_to=G.cw_eid AND (G.cw_in_state=1 OR G.cw_in_state IS NULL)'''), |
838 WHERE rel_tags0.eid_to=_G.cw_eid AND (_G.cw_in_state=1 OR _G.cw_in_state IS NULL)'''), |
835 |
839 |
836 # two optional variables with additional invariant restriction on an inlined relation |
840 # two optional variables with additional invariant restriction on an inlined relation |
837 ('Any T,G,S WHERE T tags G?, G in_state S?, S eid 1, G is CWUser', |
841 ('Any T,G,S WHERE T tags G?, G in_state S?, S eid 1, G is CWUser', |
838 '''SELECT T.cw_eid, G.cw_eid, G.cw_in_state |
842 '''SELECT _T.cw_eid, _G.cw_eid, _G.cw_in_state |
839 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN cw_CWUser AS G ON (rel_tags0.eid_to=G.cw_eid AND (G.cw_in_state=1 OR G.cw_in_state IS NULL))'''), |
843 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN cw_CWUser AS _G ON (rel_tags0.eid_to=_G.cw_eid AND (_G.cw_in_state=1 OR _G.cw_in_state IS NULL))'''), |
840 |
844 |
841 # two optional variables with additional restriction on an inlined relation |
845 # two optional variables with additional restriction on an inlined relation |
842 ('Any T,G,S WHERE T tags G?, G in_state S?, S name "hop", G is CWUser', |
846 ('Any T,G,S WHERE T tags G?, G in_state S?, S name "hop", G is CWUser', |
843 '''SELECT T.cw_eid, G.cw_eid, S.cw_eid |
847 '''SELECT _T.cw_eid, _G.cw_eid, _S.cw_eid |
844 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN cw_CWUser AS G ON (rel_tags0.eid_to=G.cw_eid) LEFT OUTER JOIN cw_State AS S ON (G.cw_in_state=S.cw_eid AND S.cw_name=hop)'''), |
848 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN cw_CWUser AS _G ON (rel_tags0.eid_to=_G.cw_eid) LEFT OUTER JOIN cw_State AS _S ON (_G.cw_in_state=_S.cw_eid AND _S.cw_name=hop)'''), |
845 |
849 |
846 # two optional variables with additional restriction on an ambigous inlined relation |
850 # two optional variables with additional restriction on an ambigous inlined relation |
847 ('Any T,G,S WHERE T tags G?, G in_state S?, S name "hop"', |
851 ('Any T,G,S WHERE T tags G?, G in_state S?, S name "hop"', |
848 ''' |
852 ''' |
849 SELECT T.cw_eid, _T0.C0, _T0.C1 |
853 SELECT _T.cw_eid, _T0.C0, _T0.C1 |
850 FROM cw_Tag AS T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=T.cw_eid) LEFT OUTER JOIN (SELECT G.cw_eid AS C0, S.cw_eid AS C1 |
854 FROM cw_Tag AS _T LEFT OUTER JOIN tags_relation AS rel_tags0 ON (rel_tags0.eid_from=_T.cw_eid) LEFT OUTER JOIN (SELECT _G.cw_eid AS C0, _S.cw_eid AS C1 |
851 FROM cw_Affaire AS G LEFT OUTER JOIN cw_State AS S ON (G.cw_in_state=S.cw_eid AND S.cw_name=hop) |
855 FROM cw_Affaire AS _G LEFT OUTER JOIN cw_State AS _S ON (_G.cw_in_state=_S.cw_eid AND _S.cw_name=hop) |
852 UNION ALL |
856 UNION ALL |
853 SELECT G.cw_eid AS C0, S.cw_eid AS C1 |
857 SELECT _G.cw_eid AS C0, _S.cw_eid AS C1 |
854 FROM cw_CWUser AS G LEFT OUTER JOIN cw_State AS S ON (G.cw_in_state=S.cw_eid AND S.cw_name=hop) |
858 FROM cw_CWUser AS _G LEFT OUTER JOIN cw_State AS _S ON (_G.cw_in_state=_S.cw_eid AND _S.cw_name=hop) |
855 UNION ALL |
859 UNION ALL |
856 SELECT G.cw_eid AS C0, S.cw_eid AS C1 |
860 SELECT _G.cw_eid AS C0, _S.cw_eid AS C1 |
857 FROM cw_Note AS G LEFT OUTER JOIN cw_State AS S ON (G.cw_in_state=S.cw_eid AND S.cw_name=hop) ) AS _T0 ON (rel_tags0.eid_to=_T0.C0)'''), |
861 FROM cw_Note AS _G LEFT OUTER JOIN cw_State AS _S ON (_G.cw_in_state=_S.cw_eid AND _S.cw_name=hop) ) AS _T0 ON (rel_tags0.eid_to=_T0.C0)'''), |
858 |
862 |
859 ('Any O,AD WHERE NOT S inline1 O, S eid 123, O todo_by AD?', |
863 ('Any O,AD WHERE NOT S inline1 O, S eid 123, O todo_by AD?', |
860 '''SELECT O.cw_eid, rel_todo_by0.eid_to |
864 '''SELECT _O.cw_eid, rel_todo_by0.eid_to |
861 FROM cw_Affaire AS O LEFT OUTER JOIN todo_by_relation AS rel_todo_by0 ON (rel_todo_by0.eid_from=O.cw_eid), cw_Note AS S |
865 FROM cw_Affaire AS _O LEFT OUTER JOIN todo_by_relation AS rel_todo_by0 ON (rel_todo_by0.eid_from=_O.cw_eid), cw_Note AS _S |
862 WHERE NOT EXISTS(SELECT 1 WHERE S.cw_inline1=O.cw_eid) AND S.cw_eid=123''') |
866 WHERE NOT EXISTS(SELECT 1 WHERE _S.cw_inline1=_O.cw_eid) AND _S.cw_eid=123''') |
863 ] |
867 ] |
864 |
868 |
865 VIRTUAL_VARS = [ |
869 VIRTUAL_VARS = [ |
866 ("Personne P WHERE P travaille S, S tel T, S fax T, S is Societe;", |
870 ("Personne P WHERE P travaille S, S tel T, S fax T, S is Societe;", |
867 '''SELECT rel_travaille0.eid_from |
871 '''SELECT rel_travaille0.eid_from |
868 FROM cw_Societe AS S, travaille_relation AS rel_travaille0 |
872 FROM cw_Societe AS _S, travaille_relation AS rel_travaille0 |
869 WHERE rel_travaille0.eid_to=S.cw_eid AND S.cw_fax=S.cw_tel'''), |
873 WHERE rel_travaille0.eid_to=_S.cw_eid AND _S.cw_fax=_S.cw_tel'''), |
870 |
874 |
871 ("Personne P where X eid 0, X creation_date D, P datenaiss < D, X is Affaire", |
875 ("Personne P where X eid 0, X creation_date D, P datenaiss < D, X is Affaire", |
872 '''SELECT P.cw_eid |
876 '''SELECT _P.cw_eid |
873 FROM cw_Affaire AS X, cw_Personne AS P |
877 FROM cw_Affaire AS _X, cw_Personne AS _P |
874 WHERE X.cw_eid=0 AND P.cw_datenaiss<X.cw_creation_date'''), |
878 WHERE _X.cw_eid=0 AND _P.cw_datenaiss<_X.cw_creation_date'''), |
875 |
879 |
876 ("Any N,T WHERE N is Note, N type T;", |
880 ("Any N,T WHERE N is Note, N type T;", |
877 '''SELECT N.cw_eid, N.cw_type |
881 '''SELECT _N.cw_eid, _N.cw_type |
878 FROM cw_Note AS N'''), |
882 FROM cw_Note AS _N'''), |
879 |
883 |
880 ("Personne P where X is Personne, X tel T, X fax F, P fax T+F", |
884 ("Personne P where X is Personne, X tel T, X fax F, P fax T+F", |
881 '''SELECT P.cw_eid |
885 '''SELECT _P.cw_eid |
882 FROM cw_Personne AS P, cw_Personne AS X |
886 FROM cw_Personne AS _P, cw_Personne AS _X |
883 WHERE P.cw_fax=(X.cw_tel + X.cw_fax)'''), |
887 WHERE _P.cw_fax=(_X.cw_tel + _X.cw_fax)'''), |
884 |
888 |
885 ("Personne P where X tel T, X fax F, P fax IN (T,F)", |
889 ("Personne P where X tel T, X fax F, P fax IN (T,F)", |
886 '''SELECT P.cw_eid |
890 '''SELECT _P.cw_eid |
887 FROM cw_Division AS X, cw_Personne AS P |
891 FROM cw_Division AS _X, cw_Personne AS _P |
888 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax) |
892 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax) |
889 UNION ALL |
893 UNION ALL |
890 SELECT P.cw_eid |
894 SELECT _P.cw_eid |
891 FROM cw_Personne AS P, cw_Personne AS X |
895 FROM cw_Personne AS _P, cw_Personne AS _X |
892 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax) |
896 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax) |
893 UNION ALL |
897 UNION ALL |
894 SELECT P.cw_eid |
898 SELECT _P.cw_eid |
895 FROM cw_Personne AS P, cw_Societe AS X |
899 FROM cw_Personne AS _P, cw_Societe AS _X |
896 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax) |
900 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax) |
897 UNION ALL |
901 UNION ALL |
898 SELECT P.cw_eid |
902 SELECT _P.cw_eid |
899 FROM cw_Personne AS P, cw_SubDivision AS X |
903 FROM cw_Personne AS _P, cw_SubDivision AS _X |
900 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax)'''), |
904 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax)'''), |
901 |
905 |
902 ("Personne P where X tel T, X fax F, P fax IN (T,F,0832542332)", |
906 ("Personne P where X tel T, X fax F, P fax IN (T,F,0832542332)", |
903 '''SELECT P.cw_eid |
907 '''SELECT _P.cw_eid |
904 FROM cw_Division AS X, cw_Personne AS P |
908 FROM cw_Division AS _X, cw_Personne AS _P |
905 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax, 832542332) |
909 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax, 832542332) |
906 UNION ALL |
910 UNION ALL |
907 SELECT P.cw_eid |
911 SELECT _P.cw_eid |
908 FROM cw_Personne AS P, cw_Personne AS X |
912 FROM cw_Personne AS _P, cw_Personne AS _X |
909 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax, 832542332) |
913 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax, 832542332) |
910 UNION ALL |
914 UNION ALL |
911 SELECT P.cw_eid |
915 SELECT _P.cw_eid |
912 FROM cw_Personne AS P, cw_Societe AS X |
916 FROM cw_Personne AS _P, cw_Societe AS _X |
913 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax, 832542332) |
917 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax, 832542332) |
914 UNION ALL |
918 UNION ALL |
915 SELECT P.cw_eid |
919 SELECT _P.cw_eid |
916 FROM cw_Personne AS P, cw_SubDivision AS X |
920 FROM cw_Personne AS _P, cw_SubDivision AS _X |
917 WHERE P.cw_fax IN(X.cw_tel, X.cw_fax, 832542332)'''), |
921 WHERE _P.cw_fax IN(_X.cw_tel, _X.cw_fax, 832542332)'''), |
918 ] |
922 ] |
919 |
923 |
920 FUNCS = [ |
924 FUNCS = [ |
921 ("Any COUNT(P) WHERE P is Personne", |
925 ("Any COUNT(P) WHERE P is Personne", |
922 '''SELECT COUNT(P.cw_eid) |
926 '''SELECT COUNT(_P.cw_eid) |
923 FROM cw_Personne AS P'''), |
927 FROM cw_Personne AS _P'''), |
924 ] |
928 ] |
925 |
929 |
926 SYMETRIC = [ |
930 SYMETRIC = [ |
927 ('Any P WHERE X eid 0, X connait P', |
931 ('Any P WHERE X eid 0, X connait P', |
928 '''SELECT DISTINCT P.cw_eid |
932 '''SELECT DISTINCT _P.cw_eid |
929 FROM connait_relation AS rel_connait0, cw_Personne AS P |
933 FROM connait_relation AS rel_connait0, cw_Personne AS _P |
930 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=P.cw_eid)''' |
934 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=_P.cw_eid)''' |
931 ), |
935 ), |
932 |
936 |
933 ('Any P WHERE X connait P', |
937 ('Any P WHERE X connait P', |
934 '''SELECT DISTINCT P.cw_eid |
938 '''SELECT DISTINCT _P.cw_eid |
935 FROM connait_relation AS rel_connait0, cw_Personne AS P |
939 FROM connait_relation AS rel_connait0, cw_Personne AS _P |
936 WHERE (rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_from=P.cw_eid)''' |
940 WHERE (rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_from=_P.cw_eid)''' |
937 ), |
941 ), |
938 |
942 |
939 ('Any X WHERE X connait P', |
943 ('Any X WHERE X connait P', |
940 '''SELECT DISTINCT X.cw_eid |
944 '''SELECT DISTINCT _X.cw_eid |
941 FROM connait_relation AS rel_connait0, cw_Personne AS X |
945 FROM connait_relation AS rel_connait0, cw_Personne AS _X |
942 WHERE (rel_connait0.eid_from=X.cw_eid OR rel_connait0.eid_to=X.cw_eid)''' |
946 WHERE (rel_connait0.eid_from=_X.cw_eid OR rel_connait0.eid_to=_X.cw_eid)''' |
943 ), |
947 ), |
944 |
948 |
945 ('Any P WHERE X eid 0, NOT X connait P', |
949 ('Any P WHERE X eid 0, NOT X connait P', |
946 '''SELECT P.cw_eid |
950 '''SELECT _P.cw_eid |
947 FROM cw_Personne AS P |
951 FROM cw_Personne AS _P |
948 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=P.cw_eid))'''), |
952 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=_P.cw_eid))'''), |
949 |
953 |
950 ('Any P WHERE NOT X connait P', |
954 ('Any P WHERE NOT X connait P', |
951 '''SELECT P.cw_eid |
955 '''SELECT _P.cw_eid |
952 FROM cw_Personne AS P |
956 FROM cw_Personne AS _P |
953 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_from=P.cw_eid))'''), |
957 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_from=_P.cw_eid))'''), |
954 |
958 |
955 ('Any X WHERE NOT X connait P', |
959 ('Any X WHERE NOT X connait P', |
956 '''SELECT X.cw_eid |
960 '''SELECT _X.cw_eid |
957 FROM cw_Personne AS X |
961 FROM cw_Personne AS _X |
958 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_from=X.cw_eid OR rel_connait0.eid_to=X.cw_eid))'''), |
962 WHERE NOT EXISTS(SELECT 1 FROM connait_relation AS rel_connait0 WHERE (rel_connait0.eid_from=_X.cw_eid OR rel_connait0.eid_to=_X.cw_eid))'''), |
959 |
963 |
960 ('Any P WHERE X connait P, P nom "nom"', |
964 ('Any P WHERE X connait P, P nom "nom"', |
961 '''SELECT DISTINCT P.cw_eid |
965 '''SELECT DISTINCT _P.cw_eid |
962 FROM connait_relation AS rel_connait0, cw_Personne AS P |
966 FROM connait_relation AS rel_connait0, cw_Personne AS _P |
963 WHERE (rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_from=P.cw_eid) AND P.cw_nom=nom'''), |
967 WHERE (rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_from=_P.cw_eid) AND _P.cw_nom=nom'''), |
964 |
968 |
965 ('Any X WHERE X connait P, P nom "nom"', |
969 ('Any X WHERE X connait P, P nom "nom"', |
966 '''SELECT DISTINCT X.cw_eid |
970 '''SELECT DISTINCT _X.cw_eid |
967 FROM connait_relation AS rel_connait0, cw_Personne AS P, cw_Personne AS X |
971 FROM connait_relation AS rel_connait0, cw_Personne AS _P, cw_Personne AS _X |
968 WHERE (rel_connait0.eid_from=X.cw_eid AND rel_connait0.eid_to=P.cw_eid OR rel_connait0.eid_to=X.cw_eid AND rel_connait0.eid_from=P.cw_eid) AND P.cw_nom=nom''' |
972 WHERE (rel_connait0.eid_from=_X.cw_eid AND rel_connait0.eid_to=_P.cw_eid OR rel_connait0.eid_to=_X.cw_eid AND rel_connait0.eid_from=_P.cw_eid) AND _P.cw_nom=nom''' |
969 ), |
973 ), |
970 |
974 |
971 ('Any X ORDERBY X DESC LIMIT 9 WHERE E eid 0, E connait X', |
975 ('Any X ORDERBY X DESC LIMIT 9 WHERE E eid 0, E connait X', |
972 '''SELECT DISTINCT X.cw_eid |
976 '''SELECT DISTINCT _X.cw_eid |
973 FROM connait_relation AS rel_connait0, cw_Personne AS X |
977 FROM connait_relation AS rel_connait0, cw_Personne AS _X |
974 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=X.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=X.cw_eid) |
978 WHERE (rel_connait0.eid_from=0 AND rel_connait0.eid_to=_X.cw_eid OR rel_connait0.eid_to=0 AND rel_connait0.eid_from=_X.cw_eid) |
975 ORDER BY 1 DESC |
979 ORDER BY 1 DESC |
976 LIMIT 9''' |
980 LIMIT 9''' |
977 ), |
981 ), |
978 |
982 |
979 ('DISTINCT Any P WHERE P connait S OR S connait P, S nom "chouette"', |
983 ('DISTINCT Any P WHERE P connait S OR S connait P, S nom "chouette"', |
980 '''SELECT DISTINCT P.cw_eid |
984 '''SELECT DISTINCT _P.cw_eid |
981 FROM connait_relation AS rel_connait0, cw_Personne AS P, cw_Personne AS S |
985 FROM connait_relation AS rel_connait0, cw_Personne AS _P, cw_Personne AS _S |
982 WHERE (rel_connait0.eid_from=P.cw_eid AND rel_connait0.eid_to=S.cw_eid OR rel_connait0.eid_to=P.cw_eid AND rel_connait0.eid_from=S.cw_eid) AND S.cw_nom=chouette''' |
986 WHERE (rel_connait0.eid_from=_P.cw_eid AND rel_connait0.eid_to=_S.cw_eid OR rel_connait0.eid_to=_P.cw_eid AND rel_connait0.eid_from=_S.cw_eid) AND _S.cw_nom=chouette''' |
983 ) |
987 ) |
984 ] |
988 ] |
985 |
989 |
986 INLINE = [ |
990 INLINE = [ |
987 ('Any P, L WHERE N ecrit_par P, P nom L, N eid 0', |
991 ('Any P, L WHERE N ecrit_par P, P nom L, N eid 0', |
988 '''SELECT P.cw_eid, P.cw_nom |
992 '''SELECT _P.cw_eid, _P.cw_nom |
989 FROM cw_Note AS N, cw_Personne AS P |
993 FROM cw_Note AS _N, cw_Personne AS _P |
990 WHERE N.cw_ecrit_par=P.cw_eid AND N.cw_eid=0'''), |
994 WHERE _N.cw_ecrit_par=_P.cw_eid AND _N.cw_eid=0'''), |
991 |
995 |
992 ('Any N WHERE NOT N ecrit_par P, P nom "toto"', |
996 ('Any N WHERE NOT N ecrit_par P, P nom "toto"', |
993 '''SELECT N.cw_eid |
997 '''SELECT _N.cw_eid |
994 FROM cw_Note AS N, cw_Personne AS P |
998 FROM cw_Note AS _N, cw_Personne AS _P |
995 WHERE NOT EXISTS(SELECT 1 WHERE N.cw_ecrit_par=P.cw_eid) AND P.cw_nom=toto'''), |
999 WHERE NOT EXISTS(SELECT 1 WHERE _N.cw_ecrit_par=_P.cw_eid) AND _P.cw_nom=toto'''), |
996 |
1000 |
997 ('Any P WHERE N ecrit_par P, N eid 0', |
1001 ('Any P WHERE N ecrit_par P, N eid 0', |
998 '''SELECT N.cw_ecrit_par |
1002 '''SELECT _N.cw_ecrit_par |
999 FROM cw_Note AS N |
1003 FROM cw_Note AS _N |
1000 WHERE N.cw_ecrit_par IS NOT NULL AND N.cw_eid=0'''), |
1004 WHERE _N.cw_ecrit_par IS NOT NULL AND _N.cw_eid=0'''), |
1001 |
1005 |
1002 ('Any P WHERE N ecrit_par P, P is Personne, N eid 0', |
1006 ('Any P WHERE N ecrit_par P, P is Personne, N eid 0', |
1003 '''SELECT P.cw_eid |
1007 '''SELECT _P.cw_eid |
1004 FROM cw_Note AS N, cw_Personne AS P |
1008 FROM cw_Note AS _N, cw_Personne AS _P |
1005 WHERE N.cw_ecrit_par=P.cw_eid AND N.cw_eid=0'''), |
1009 WHERE _N.cw_ecrit_par=_P.cw_eid AND _N.cw_eid=0'''), |
1006 |
1010 |
1007 ('Any P WHERE NOT N ecrit_par P, P is Personne, N eid 512', |
1011 ('Any P WHERE NOT N ecrit_par P, P is Personne, N eid 512', |
1008 '''SELECT P.cw_eid |
1012 '''SELECT _P.cw_eid |
1009 FROM cw_Note AS N, cw_Personne AS P |
1013 FROM cw_Note AS _N, cw_Personne AS _P |
1010 WHERE NOT EXISTS(SELECT 1 WHERE N.cw_ecrit_par=P.cw_eid) AND N.cw_eid=512'''), |
1014 WHERE NOT EXISTS(SELECT 1 WHERE _N.cw_ecrit_par=_P.cw_eid) AND _N.cw_eid=512'''), |
1011 |
1015 |
1012 ('Any S,ES,T WHERE S state_of ET, ET name "CWUser", ES allowed_transition T, T destination_state S', |
1016 ('Any S,ES,T WHERE S state_of ET, ET name "CWUser", ES allowed_transition T, T destination_state S', |
1013 '''SELECT T.cw_destination_state, rel_allowed_transition1.eid_from, T.cw_eid |
1017 '''SELECT _T.cw_destination_state, rel_allowed_transition1.eid_from, _T.cw_eid |
1014 FROM allowed_transition_relation AS rel_allowed_transition1, cw_Transition AS T, cw_Workflow AS ET, state_of_relation AS rel_state_of0 |
1018 FROM allowed_transition_relation AS rel_allowed_transition1, cw_Transition AS _T, cw_Workflow AS _ET, state_of_relation AS rel_state_of0 |
1015 WHERE T.cw_destination_state=rel_state_of0.eid_from AND rel_state_of0.eid_to=ET.cw_eid AND ET.cw_name=CWUser AND rel_allowed_transition1.eid_to=T.cw_eid'''), |
1019 WHERE _T.cw_destination_state=rel_state_of0.eid_from AND rel_state_of0.eid_to=_ET.cw_eid AND _ET.cw_name=CWUser AND rel_allowed_transition1.eid_to=_T.cw_eid'''), |
1016 |
1020 |
1017 ('Any O WHERE S eid 0, S in_state O', |
1021 ('Any O WHERE S eid 0, S in_state O', |
1018 '''SELECT S.cw_in_state |
1022 '''SELECT _S.cw_in_state |
1019 FROM cw_Affaire AS S |
1023 FROM cw_Affaire AS _S |
1020 WHERE S.cw_eid=0 AND S.cw_in_state IS NOT NULL |
1024 WHERE _S.cw_eid=0 AND _S.cw_in_state IS NOT NULL |
1021 UNION ALL |
1025 UNION ALL |
1022 SELECT S.cw_in_state |
1026 SELECT _S.cw_in_state |
1023 FROM cw_CWUser AS S |
1027 FROM cw_CWUser AS _S |
1024 WHERE S.cw_eid=0 AND S.cw_in_state IS NOT NULL |
1028 WHERE _S.cw_eid=0 AND _S.cw_in_state IS NOT NULL |
1025 UNION ALL |
1029 UNION ALL |
1026 SELECT S.cw_in_state |
1030 SELECT _S.cw_in_state |
1027 FROM cw_Note AS S |
1031 FROM cw_Note AS _S |
1028 WHERE S.cw_eid=0 AND S.cw_in_state IS NOT NULL''') |
1032 WHERE _S.cw_eid=0 AND _S.cw_in_state IS NOT NULL''') |
1029 |
1033 |
1030 ] |
1034 ] |
1031 |
1035 |
1032 INTERSECT = [ |
1036 INTERSECT = [ |
1033 ('Any SN WHERE NOT X in_state S, S name SN', |
1037 ('Any SN WHERE NOT X in_state S, S name SN', |
1034 '''SELECT S.cw_name |
1038 '''SELECT _S.cw_name |
1035 FROM cw_State AS S |
1039 FROM cw_State AS _S |
1036 WHERE NOT EXISTS(SELECT 1 FROM cw_Affaire AS X WHERE X.cw_in_state=S.cw_eid) |
1040 WHERE NOT EXISTS(SELECT 1 FROM cw_Affaire AS _X WHERE _X.cw_in_state=_S.cw_eid) |
1037 INTERSECT |
1041 INTERSECT |
1038 SELECT S.cw_name |
1042 SELECT _S.cw_name |
1039 FROM cw_State AS S |
1043 FROM cw_State AS _S |
1040 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS X WHERE X.cw_in_state=S.cw_eid) |
1044 WHERE NOT EXISTS(SELECT 1 FROM cw_CWUser AS _X WHERE _X.cw_in_state=_S.cw_eid) |
1041 INTERSECT |
1045 INTERSECT |
1042 SELECT S.cw_name |
1046 SELECT _S.cw_name |
1043 FROM cw_State AS S |
1047 FROM cw_State AS _S |
1044 WHERE NOT EXISTS(SELECT 1 FROM cw_Note AS X WHERE X.cw_in_state=S.cw_eid)'''), |
1048 WHERE NOT EXISTS(SELECT 1 FROM cw_Note AS _X WHERE _X.cw_in_state=_S.cw_eid)'''), |
1045 |
1049 |
1046 ('Any PN WHERE NOT X travaille S, X nom PN, S is IN(Division, Societe)', |
1050 ('Any PN WHERE NOT X travaille S, X nom PN, S is IN(Division, Societe)', |
1047 '''SELECT X.cw_nom |
1051 '''SELECT _X.cw_nom |
1048 FROM cw_Personne AS X |
1052 FROM cw_Personne AS _X |
1049 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0,cw_Division AS S WHERE rel_travaille0.eid_from=X.cw_eid AND rel_travaille0.eid_to=S.cw_eid) |
1053 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0,cw_Division AS _S WHERE rel_travaille0.eid_from=_X.cw_eid AND rel_travaille0.eid_to=_S.cw_eid) |
1050 INTERSECT |
1054 INTERSECT |
1051 SELECT X.cw_nom |
1055 SELECT _X.cw_nom |
1052 FROM cw_Personne AS X |
1056 FROM cw_Personne AS _X |
1053 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0,cw_Societe AS S WHERE rel_travaille0.eid_from=X.cw_eid AND rel_travaille0.eid_to=S.cw_eid)'''), |
1057 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0,cw_Societe AS _S WHERE rel_travaille0.eid_from=_X.cw_eid AND rel_travaille0.eid_to=_S.cw_eid)'''), |
1054 |
1058 |
1055 ('Any PN WHERE NOT X travaille S, S nom PN, S is IN(Division, Societe)', |
1059 ('Any PN WHERE NOT X travaille S, S nom PN, S is IN(Division, Societe)', |
1056 '''SELECT S.cw_nom |
1060 '''SELECT _S.cw_nom |
1057 FROM cw_Division AS S |
1061 FROM cw_Division AS _S |
1058 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_to=S.cw_eid) |
1062 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_to=_S.cw_eid) |
1059 UNION ALL |
1063 UNION ALL |
1060 SELECT S.cw_nom |
1064 SELECT _S.cw_nom |
1061 FROM cw_Societe AS S |
1065 FROM cw_Societe AS _S |
1062 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_to=S.cw_eid)'''), |
1066 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_to=_S.cw_eid)'''), |
1063 |
1067 |
1064 ('Personne X WHERE NOT X travaille S, S nom "chouette"', |
1068 ('Personne X WHERE NOT X travaille S, S nom "chouette"', |
1065 '''SELECT X.cw_eid |
1069 '''SELECT _X.cw_eid |
1066 FROM cw_Division AS S, cw_Personne AS X |
1070 FROM cw_Division AS _S, cw_Personne AS _X |
1067 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=X.cw_eid AND rel_travaille0.eid_to=S.cw_eid) AND S.cw_nom=chouette |
1071 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=_X.cw_eid AND rel_travaille0.eid_to=_S.cw_eid) AND _S.cw_nom=chouette |
1068 UNION ALL |
1072 UNION ALL |
1069 SELECT X.cw_eid |
1073 SELECT _X.cw_eid |
1070 FROM cw_Personne AS X, cw_Societe AS S |
1074 FROM cw_Personne AS _X, cw_Societe AS _S |
1071 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=X.cw_eid AND rel_travaille0.eid_to=S.cw_eid) AND S.cw_nom=chouette |
1075 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=_X.cw_eid AND rel_travaille0.eid_to=_S.cw_eid) AND _S.cw_nom=chouette |
1072 UNION ALL |
1076 UNION ALL |
1073 SELECT X.cw_eid |
1077 SELECT _X.cw_eid |
1074 FROM cw_Personne AS X, cw_SubDivision AS S |
1078 FROM cw_Personne AS _X, cw_SubDivision AS _S |
1075 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=X.cw_eid AND rel_travaille0.eid_to=S.cw_eid) AND S.cw_nom=chouette'''), |
1079 WHERE NOT EXISTS(SELECT 1 FROM travaille_relation AS rel_travaille0 WHERE rel_travaille0.eid_from=_X.cw_eid AND rel_travaille0.eid_to=_S.cw_eid) AND _S.cw_nom=chouette'''), |
1076 |
1080 |
1077 ('Any X WHERE X is ET, ET eid 2', |
1081 ('Any X WHERE X is ET, ET eid 2', |
1078 '''SELECT rel_is0.eid_from |
1082 '''SELECT rel_is0.eid_from |
1079 FROM is_relation AS rel_is0 |
1083 FROM is_relation AS rel_is0 |
1080 WHERE rel_is0.eid_to=2'''), |
1084 WHERE rel_is0.eid_to=2'''), |