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"', |
1611 # X without in_group relation, or some G without it. |
1615 # X without in_group relation, or some G without it. |
1612 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
1616 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
1613 '''SELECT 1 |
1617 '''SELECT 1 |
1614 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
1618 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
1615 |
1619 |
1616 def test_nonregr_subquery_missing_join(self): |
1620 def test_nonregr_outer_join_multiple(self): |
1617 self._check('Any COUNT(P1148),G GROUPBY G ' |
1621 self._check('Any COUNT(P1148),G GROUPBY G ' |
1618 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148, ' |
1622 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148, ' |
1619 'K1148 eid 1148, P1148? in_group G', |
1623 'K1148 eid 1148, P1148? in_group G', |
1620 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1624 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1621 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) |
1625 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) |
1622 WHERE rel_owned_by0.eid_from=_G.cw_eid AND rel_owned_by0.eid_to=1122 AND rel_bookmarked_by1.eid_from=1148 |
1626 WHERE rel_owned_by0.eid_from=_G.cw_eid AND rel_owned_by0.eid_to=1122 AND rel_bookmarked_by1.eid_from=1148 |
1623 GROUP BY _G.cw_eid''' |
1627 GROUP BY _G.cw_eid''' |
1624 ) |
1628 ) |
1625 |
1629 |
1626 def test_nonregr_subquery_missing_join2(self): |
1630 def test_nonregr_outer_join_multiple2(self): |
1627 self._check('Any COUNT(P1148),G GROUPBY G ' |
1631 self._check('Any COUNT(P1148),G GROUPBY G ' |
1628 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148?, ' |
1632 'WHERE G owned_by D, D eid 1122, K1148 bookmarked_by P1148?, ' |
1629 'K1148 eid 1148, P1148? in_group G', |
1633 'K1148 eid 1148, P1148? in_group G', |
1630 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1634 '''SELECT COUNT(rel_bookmarked_by1.eid_to), _G.cw_eid |
1631 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) |
1635 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) |