]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Pass precision value to mssql.DATETIME2 when it is 0
authorJacobo de Vera <devel@jacobodevera.com>
Fri, 13 Nov 2015 15:57:41 +0000 (16:57 +0100)
committerJacobo de Vera <devel@jacobodevera.com>
Fri, 13 Nov 2015 19:51:05 +0000 (20:51 +0100)
The simple check on the precision results in DATETIME2(0) generating a
DATETIME2 column, with default precision, which is 7.

lib/sqlalchemy/dialects/mssql/base.py
test/dialect/mssql/test_types.py

index 37e798014c95ea4c09decea4e2b8072dbe02588b..9e39ca9f28d1d50ae7c4e48694105a320110bb66 100644 (file)
@@ -773,7 +773,7 @@ class MSTypeCompiler(compiler.GenericTypeCompiler):
 
     def visit_DATETIME2(self, type_, **kw):
         precision = getattr(type_, 'precision', None)
-        if precision:
+        if precision is not None:
             return "DATETIME2(%s)" % precision
         else:
             return "DATETIME2"
index e782bd5e595b7a54ba2f100b213926b0bbb7d72f..d8a82630b80f961ecc187a904f98a1bd7db86bd3 100644 (file)
@@ -464,6 +464,8 @@ class TypeRoundTripTest(
 
             (mssql.MSDateTime2, [], {},
              'DATETIME2', ['>=', (10,)]),
+            (mssql.MSDateTime2, [0], {},
+             'DATETIME2(0)', ['>=', (10,)]),
             (mssql.MSDateTime2, [1], {},
              'DATETIME2(1)', ['>=', (10,)]),