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