diff options
author | Paul Johnston <paj@pajhome.org.uk> | 2007-09-19 21:46:24 +0000 |
---|---|---|
committer | Paul Johnston <paj@pajhome.org.uk> | 2007-09-19 21:46:24 +0000 |
commit | 927d5d8929ad865182d6c6815dd5df8875777ceb (patch) | |
tree | bce01824094121a57c5861bbe096bfbb43ece84e /lib/sqlalchemy/databases/mssql.py | |
parent | 68ce4b163675b7e23e6b6735f0a01fb5e8868951 (diff) | |
download | sqlalchemy-927d5d8929ad865182d6c6815dd5df8875777ceb.tar.gz |
Don't use unicode with pyodbc on UCS-4 platforms [ticket:787]
Diffstat (limited to 'lib/sqlalchemy/databases/mssql.py')
-rw-r--r-- | lib/sqlalchemy/databases/mssql.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index 6c29520e6..4f3b9e3dd 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -742,7 +742,8 @@ class MSSQLDialect_pyodbc(MSSQLDialect): supports_sane_rowcount = False supports_sane_multi_rowcount = False # PyODBC unicode is broken on UCS-4 builds - supports_unicode_statements = sys.maxunicode == 65535 + supports_unicode = sys.maxunicode == 65535 + supports_unicode_statements = supports_unicode def __init__(self, **params): super(MSSQLDialect_pyodbc, self).__init__(**params) @@ -759,12 +760,14 @@ class MSSQLDialect_pyodbc(MSSQLDialect): import_dbapi = classmethod(import_dbapi) colspecs = MSSQLDialect.colspecs.copy() - colspecs[sqltypes.Unicode] = AdoMSNVarchar + if supports_unicode: + colspecs[sqltypes.Unicode] = AdoMSNVarchar colspecs[sqltypes.Date] = MSDate_pyodbc colspecs[sqltypes.DateTime] = MSDateTime_pyodbc ischema_names = MSSQLDialect.ischema_names.copy() - ischema_names['nvarchar'] = AdoMSNVarchar + if supports_unicode: + ischema_names['nvarchar'] = AdoMSNVarchar ischema_names['smalldatetime'] = MSDate_pyodbc ischema_names['datetime'] = MSDateTime_pyodbc |