summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mssql/pyodbc.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-03-19 11:17:14 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-03-19 11:17:14 -0400
commit5be0d3133bb3591ca31e2da0a01fb3d3038aa9f8 (patch)
treeb87ada594b4023536cece6698005571e73758408 /lib/sqlalchemy/dialects/mssql/pyodbc.py
parentb2c2f58d983147a27031e20b95af4191b2aa8356 (diff)
downloadsqlalchemy-5be0d3133bb3591ca31e2da0a01fb3d3038aa9f8.tar.gz
switching Decimal treatment in MSSQL to be pyodbc specific, added
to connector to share between sybase/mssql. Going with turning decimals with very low significant digit to floats, seems to work so far.
Diffstat (limited to 'lib/sqlalchemy/dialects/mssql/pyodbc.py')
-rw-r--r--lib/sqlalchemy/dialects/mssql/pyodbc.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py
index 34050271f..b22d742de 100644
--- a/lib/sqlalchemy/dialects/mssql/pyodbc.py
+++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py
@@ -12,11 +12,12 @@ Connect strings are of the form::
"""
from sqlalchemy.dialects.mssql.base import MSExecutionContext, MSDialect
-from sqlalchemy.connectors.pyodbc import PyODBCConnector
-from sqlalchemy import types as sqltypes
-import re
-import sys
+from sqlalchemy.connectors.pyodbc import PyODBCConnector, PyODBCNumeric
+from sqlalchemy import types as sqltypes, util
+class _MSNumeric_pyodbc(PyODBCNumeric):
+ pass
+
class MSExecutionContext_pyodbc(MSExecutionContext):
_embedded_scope_identity = False
@@ -67,7 +68,14 @@ class MSDialect_pyodbc(PyODBCConnector, MSDialect):
execution_ctx_cls = MSExecutionContext_pyodbc
pyodbc_driver_name = 'SQL Server'
-
+
+ colspecs = util.update_copy(
+ MSDialect.colspecs,
+ {
+ sqltypes.Numeric:_MSNumeric_pyodbc
+ }
+ )
+
def __init__(self, description_encoding='latin-1', **params):
super(MSDialect_pyodbc, self).__init__(**params)
self.description_encoding = description_encoding