diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-19 11:17:14 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-19 11:17:14 -0400 |
| commit | 5be0d3133bb3591ca31e2da0a01fb3d3038aa9f8 (patch) | |
| tree | b87ada594b4023536cece6698005571e73758408 /lib/sqlalchemy/dialects/mssql/pyodbc.py | |
| parent | b2c2f58d983147a27031e20b95af4191b2aa8356 (diff) | |
| download | sqlalchemy-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.py | 18 |
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 |
