server/test/unittest_rql2sql.py
branchstable
changeset 7905 32ad1c29e477
parent 7904 f41bb38dda7c
child 7907 08320697ca1a
equal deleted inserted replaced
7904:f41bb38dda7c 7905:32ad1c29e477
  1758 
  1758 
  1759     def test_or_having_fake_terms_base(self):
  1759     def test_or_having_fake_terms_base(self):
  1760         self._check('Any X WHERE X is CWUser, X creation_date D HAVING YEAR(D) = "2010" OR D = NULL',
  1760         self._check('Any X WHERE X is CWUser, X creation_date D HAVING YEAR(D) = "2010" OR D = NULL',
  1761                     '''SELECT _X.cw_eid
  1761                     '''SELECT _X.cw_eid
  1762 FROM cw_CWUser AS _X
  1762 FROM cw_CWUser AS _X
  1763 WHERE ((YEAR(_X.cw_creation_date)=2010) OR (_X.cw_creation_date IS NULL))''')
  1763 WHERE ((DATEPART(YEAR, _X.cw_creation_date)=2010) OR (_X.cw_creation_date IS NULL))''')
  1764 
  1764 
  1765     def test_date_extraction(self):
  1765     def test_date_extraction(self):
  1766         self._check("Any MONTH(D) WHERE P is Personne, P creation_date D",
  1766         self._check("Any MONTH(D) WHERE P is Personne, P creation_date D",
  1767                     '''SELECT DATEPART(MONTH, _P.cw_creation_date)
  1767                     '''SELECT DATEPART(MONTH, _P.cw_creation_date)
  1768 FROM cw_Personne AS _P''')
  1768 FROM cw_Personne AS _P''')
  1907     def test_groupby_orderby_insertion_dont_modify_intention(self):
  1907     def test_groupby_orderby_insertion_dont_modify_intention(self):
  1908         self._check('Any YEAR(XECT)*100+MONTH(XECT), COUNT(X),SUM(XCE),AVG(XSCT-XECT) '
  1908         self._check('Any YEAR(XECT)*100+MONTH(XECT), COUNT(X),SUM(XCE),AVG(XSCT-XECT) '
  1909                     'GROUPBY YEAR(XECT),MONTH(XECT) ORDERBY 1 '
  1909                     'GROUPBY YEAR(XECT),MONTH(XECT) ORDERBY 1 '
  1910                     'WHERE X creation_date XSCT, X modification_date XECT, '
  1910                     'WHERE X creation_date XSCT, X modification_date XECT, '
  1911                     'X ordernum XCE, X is CWAttribute',
  1911                     'X ordernum XCE, X is CWAttribute',
  1912                     '''SELECT ((YEAR(_X.cw_modification_date) * 100) + MONTH(_X.cw_modification_date)), COUNT(_X.cw_eid), SUM(_X.cw_ordernum), AVG((_X.cw_creation_date - _X.cw_modification_date))
  1912                     '''SELECT ((DATEPART(YEAR, _X.cw_modification_date) * 100) + DATEPART(MONTH, _X.cw_modification_date)), COUNT(_X.cw_eid), SUM(_X.cw_ordernum), AVG((_X.cw_creation_date - _X.cw_modification_date))
  1913 FROM cw_CWAttribute AS _X
  1913 FROM cw_CWAttribute AS _X
  1914 GROUP BY YEAR(_X.cw_modification_date),MONTH(_X.cw_modification_date)
  1914 GROUP BY DATEPART(YEAR, _X.cw_modification_date),DATEPART(MONTH, _X.cw_modification_date)
  1915 ORDER BY 1'''),
  1915 ORDER BY 1'''),
  1916 
  1916 
  1917 
  1917 
  1918 class SqliteSQLGeneratorTC(PostgresSQLGeneratorTC):
  1918 class SqliteSQLGeneratorTC(PostgresSQLGeneratorTC):
  1919     backend = 'sqlite'
  1919     backend = 'sqlite'