equal
deleted
inserted
replaced
564 SELECT _X.cw_eid AS C0, _T.cw_name AS C1, _X.cw_name AS C2 |
564 SELECT _X.cw_eid AS C0, _T.cw_name AS C1, _X.cw_name AS C2 |
565 FROM cw_Tag AS _T, cw_Tag AS _X, tags_relation AS rel_tags0 |
565 FROM cw_Tag AS _T, cw_Tag AS _X, tags_relation AS rel_tags0 |
566 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid) AS T1 |
566 WHERE rel_tags0.eid_from=_T.cw_eid AND rel_tags0.eid_to=_X.cw_eid) AS T1 |
567 GROUP BY T1.C0,T1.C2 |
567 GROUP BY T1.C0,T1.C2 |
568 ORDER BY T1.C2'''), |
568 ORDER BY T1.C2'''), |
|
569 |
|
570 ('Any 1 WHERE X in_group G, X is CWUser', |
|
571 '''SELECT 1 |
|
572 FROM in_group_relation AS rel_in_group0'''), |
|
573 |
569 |
574 |
570 ] |
575 ] |
571 |
576 |
572 |
577 |
573 MULTIPLE_SEL = [ |
578 MULTIPLE_SEL = [ |
1464 self._check('Any X WHERE X is CWUser, X creation_date D HAVING YEAR(D) = "2010" OR D = NULL', |
1469 self._check('Any X WHERE X is CWUser, X creation_date D HAVING YEAR(D) = "2010" OR D = NULL', |
1465 '''SELECT _X.cw_eid |
1470 '''SELECT _X.cw_eid |
1466 FROM cw_CWUser AS _X |
1471 FROM cw_CWUser AS _X |
1467 WHERE ((CAST(EXTRACT(YEAR from _X.cw_creation_date) AS INTEGER)=2010) OR (_X.cw_creation_date IS NULL))''') |
1472 WHERE ((CAST(EXTRACT(YEAR from _X.cw_creation_date) AS INTEGER)=2010) OR (_X.cw_creation_date IS NULL))''') |
1468 |
1473 |
|
1474 def test_not_no_where(self): |
|
1475 # XXX will check if some in_group relation exists, that's it. |
|
1476 # We can't actually know if we want to check if there are some |
|
1477 # X without in_group relation, or some G without it. |
|
1478 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
|
1479 '''SELECT 1 |
|
1480 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
|
1481 |
|
1482 |
1469 |
1483 |
1470 class SqliteSQLGeneratorTC(PostgresSQLGeneratorTC): |
1484 class SqliteSQLGeneratorTC(PostgresSQLGeneratorTC): |
1471 backend = 'sqlite' |
1485 backend = 'sqlite' |
1472 |
1486 |
1473 def _norm_sql(self, sql): |
1487 def _norm_sql(self, sql): |
1684 '''SELECT _X.cw_eid |
1698 '''SELECT _X.cw_eid |
1685 FROM cw_CWUser AS _X |
1699 FROM cw_CWUser AS _X |
1686 WHERE ((EXTRACT(YEAR from _X.cw_creation_date)=2010) OR (_X.cw_creation_date IS NULL))''') |
1700 WHERE ((EXTRACT(YEAR from _X.cw_creation_date)=2010) OR (_X.cw_creation_date IS NULL))''') |
1687 |
1701 |
1688 |
1702 |
|
1703 def test_not_no_where(self): |
|
1704 self._check('Any 1 WHERE NOT X in_group G, X is CWUser', |
|
1705 '''SELECT 1 |
|
1706 FROM (SELECT 1) AS _T |
|
1707 WHERE NOT (EXISTS(SELECT 1 FROM in_group_relation AS rel_in_group0))''') |
|
1708 |
|
1709 |
1689 class removeUnsusedSolutionsTC(TestCase): |
1710 class removeUnsusedSolutionsTC(TestCase): |
1690 def test_invariant_not_varying(self): |
1711 def test_invariant_not_varying(self): |
1691 rqlst = mock_object(defined_vars={}) |
1712 rqlst = mock_object(defined_vars={}) |
1692 rqlst.defined_vars['A'] = mock_object(scope=rqlst, stinfo={}, _q_invariant=True) |
1713 rqlst.defined_vars['A'] = mock_object(scope=rqlst, stinfo={}, _q_invariant=True) |
1693 rqlst.defined_vars['B'] = mock_object(scope=rqlst, stinfo={}, _q_invariant=False) |
1714 rqlst.defined_vars['B'] = mock_object(scope=rqlst, stinfo={}, _q_invariant=False) |