]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- func.sysdate() emits "SYSDATE()", i.e. with the ending
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 8 May 2010 19:29:08 +0000 (15:29 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 8 May 2010 19:29:08 +0000 (15:29 -0400)
parenthesis, on MySQL.  [ticket:1794]

CHANGES
lib/sqlalchemy/dialects/mysql/base.py
test/dialect/test_mysql.py

diff --git a/CHANGES b/CHANGES
index 5907f5dfc7d469b867db998a04d87aa22f212e5a..2508a3cd052dc40955079fee495a48a238e12a23 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -26,7 +26,11 @@ CHANGES
     
 - engines
   - Fixed building the C extensions on Python 2.4. [ticket:1781]
-    
+
+- mysql
+  - func.sysdate() emits "SYSDATE()", i.e. with the ending
+    parenthesis, on MySQL.  [ticket:1794]
+
 - oracle
   - Added a check for cx_oracle versions lower than version 5,
     in which case the incompatible "output type handler" won't 
index 6a07614763ad8bca7133d52b1baaddb9b4c90df0..619bbb3ced76fb23bd20a983bc7e4daf95622d18 100644 (file)
@@ -1145,6 +1145,9 @@ class MySQLCompiler(compiler.SQLCompiler):
     
     def visit_utc_timestamp_func(self, fn, **kw):
         return "UTC_TIMESTAMP"
+    
+    def visit_sysdate_func(self, fn, **kw):
+        return "SYSDATE()"
         
     def visit_concat_op(self, binary, **kw):
         return "concat(%s, %s)" % (self.process(binary.left), self.process(binary.right))
index b0859210d9fcfdd2fb207027092cdbb23146936f..f61af423819a35d37eef75bedabfdc27581039a1 100644 (file)
@@ -1069,6 +1069,9 @@ class SQLTest(TestBase, AssertsCompiledSQL):
     def test_utc_timestamp(self):
         self.assert_compile(func.utc_timestamp(), "UTC_TIMESTAMP")
 
+    def test_sysdate(self):
+        self.assert_compile(func.sysdate(), "SYSDATE()")
+        
     def test_cast(self):
         t = sql.table('t', sql.column('col'))
         m = mysql
@@ -1237,7 +1240,10 @@ class ExecutionTest(TestBase):
         meta.reflect(cx)
         eq_(cx.dialect._connection_charset, charset)
         cx.close()
-
+    
+    def test_sysdate(self):
+        d = testing.db.scalar(func.sysdate())
+        assert isinstance(d, datetime.datetime)
 
 class MatchTest(TestBase, AssertsCompiledSQL):
     __only_on__ = 'mysql'