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