833 '''SELECT _X.cw_eid |
833 '''SELECT _X.cw_eid |
834 FROM cw_Personne AS _X LEFT OUTER JOIN connait_relation AS rel_connait0 ON (rel_connait0.eid_to=_X.cw_eid) |
834 FROM cw_Personne AS _X LEFT OUTER JOIN connait_relation AS rel_connait0 ON (rel_connait0.eid_to=_X.cw_eid) |
835 WHERE _X.cw_eid=12''' |
835 WHERE _X.cw_eid=12''' |
836 ), |
836 ), |
837 ("Any P WHERE X eid 12, P? concerne X, X todo_by S", |
837 ("Any P WHERE X eid 12, P? concerne X, X todo_by S", |
838 '''SELECT rel_concerne0.eid_from |
838 '''SELECT rel_concerne1.eid_from |
839 FROM todo_by_relation AS rel_todo_by1 LEFT OUTER JOIN concerne_relation AS rel_concerne0 ON (rel_concerne0.eid_to=12) |
839 FROM todo_by_relation AS rel_todo_by0 LEFT OUTER JOIN concerne_relation AS rel_concerne1 ON (rel_concerne1.eid_to=12) |
840 WHERE rel_todo_by1.eid_from=12''' |
840 WHERE rel_todo_by0.eid_from=12''' |
841 ), |
841 ), |
842 |
842 |
843 ('Any GN, TN ORDERBY GN WHERE T tags G?, T name TN, G name GN', |
843 ('Any GN, TN ORDERBY GN WHERE T tags G?, T name TN, G name GN', |
844 ''' |
844 ''' |
845 SELECT _T0.C1, _T.cw_name |
845 SELECT _T0.C1, _T.cw_name |
929 SELECT _S.cw_eid AS C0, _A.cw_eid AS C1, _A.cw_modification_date AS C2 |
929 SELECT _S.cw_eid AS C0, _A.cw_eid AS C1, _A.cw_modification_date AS C2 |
930 FROM cw_CWUser AS _A, cw_Note AS _S |
930 FROM cw_CWUser AS _A, cw_Note AS _S |
931 WHERE _S.cw_ambiguous_inlined=_A.cw_eid) AS _T0 ON (_X.cw_multisource_inlined_rel=_T0.C0)''' |
931 WHERE _S.cw_ambiguous_inlined=_A.cw_eid) AS _T0 ON (_X.cw_multisource_inlined_rel=_T0.C0)''' |
932 ), |
932 ), |
933 |
933 |
|
934 ('Any X,T,OT WHERE X tags T, OT? tags X, X is Tag, X eid 123', |
|
935 '''SELECT rel_tags0.eid_from, rel_tags0.eid_to, rel_tags1.eid_from |
|
936 FROM tags_relation AS rel_tags0 LEFT OUTER JOIN tags_relation AS rel_tags1 ON (rel_tags1.eid_to=123) |
|
937 WHERE rel_tags0.eid_from=123'''), |
934 ] |
938 ] |
935 |
939 |
936 VIRTUAL_VARS = [ |
940 VIRTUAL_VARS = [ |
937 |
941 |
938 ('Any X WHERE X is CWUser, X creation_date > D1, Y creation_date D1, Y login "SWEB09"', |
942 ('Any X WHERE X is CWUser, X creation_date > D1, Y creation_date D1, Y login "SWEB09"', |
1599 # X without in_group relation, or some G without it. |
1603 # X without in_group relation, or some G without it. |
1600 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
1604 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
1601 '''SELECT 1 |
1605 '''SELECT 1 |
1602 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
1606 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
1603 |
1607 |
1604 def test_nonregr_subquery_missing_join(self): |
1608 def test_nonregr_outer_join_multiple(self): |
1605 self._check('Any COUNT(P1148),G GROUPBY G ' |
1609 self._check('Any COUNT(P1148),G GROUPBY G ' |
1606 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148, ' |
1610 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148, ' |
1607 'K1148 eid 1148, P1148? in_group G', |
1611 'K1148 eid 1148, P1148? in_group G', |
1608 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1612 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1609 FROM owned_by_relation AS rel_owned_by0, cw_CWGroup AS _G LEFT OUTER JOIN in_group_relation AS rel_in_group2 ON (rel_in_group2.eid_to=_G.cw_eid) LEFT OUTER JOIN bookmarked_by_relation AS rel_bookmarked_by1 ON (rel_in_group2.eid_from=rel_bookmarked_by1.eid_to) |
1613 FROM owned_by_relation AS rel_owned_by0, cw_CWGroup AS _G LEFT OUTER JOIN in_group_relation AS rel_in_group2 ON (rel_in_group2.eid_to=_G.cw_eid) LEFT OUTER JOIN bookmarked_by_relation AS rel_bookmarked_by1 ON (rel_in_group2.eid_from=rel_bookmarked_by1.eid_to) |
1610 WHERE rel_owned_by0.eid_from=_G.cw_eid AND rel_owned_by0.eid_to=1122 AND rel_bookmarked_by1.eid_from=1148 |
1614 WHERE rel_owned_by0.eid_from=_G.cw_eid AND rel_owned_by0.eid_to=1122 AND rel_bookmarked_by1.eid_from=1148 |
1611 GROUP BY _G.cw_eid''' |
1615 GROUP BY _G.cw_eid''' |
1612 ) |
1616 ) |
1613 |
1617 |
1614 def test_nonregr_subquery_missing_join2(self): |
1618 def test_nonregr_outer_join_multiple2(self): |
1615 self._check('Any COUNT(P1148),G GROUPBY G ' |
1619 self._check('Any COUNT(P1148),G GROUPBY G ' |
1616 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148?, ' |
1620 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148?, ' |
1617 'K1148 eid 1148, P1148? in_group G', |
1621 'K1148 eid 1148, P1148? in_group G', |
1618 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1622 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1619 FROM owned_by_relation AS rel_owned_by0, cw_CWGroup AS _G LEFT OUTER JOIN in_group_relation AS rel_in_group2 ON (rel_in_group2.eid_to=_G.cw_eid) LEFT OUTER JOIN bookmarked_by_relation AS rel_bookmarked_by1 ON (rel_bookmarked_by1.eid_from=1148 AND rel_in_group2.eid_from=rel_bookmarked_by1.eid_to) |
1623 FROM owned_by_relation AS rel_owned_by0, cw_CWGroup AS _G LEFT OUTER JOIN in_group_relation AS rel_in_group2 ON (rel_in_group2.eid_to=_G.cw_eid) LEFT OUTER JOIN bookmarked_by_relation AS rel_bookmarked_by1 ON (rel_bookmarked_by1.eid_from=1148 AND rel_in_group2.eid_from=rel_bookmarked_by1.eid_to) |