summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/mssql.py
diff options
context:
space:
mode:
authorPaul Johnston <paj@pajhome.org.uk>2007-09-19 21:46:24 +0000
committerPaul Johnston <paj@pajhome.org.uk>2007-09-19 21:46:24 +0000
commit927d5d8929ad865182d6c6815dd5df8875777ceb (patch)
treebce01824094121a57c5861bbe096bfbb43ece84e /lib/sqlalchemy/databases/mssql.py
parent68ce4b163675b7e23e6b6735f0a01fb5e8868951 (diff)
downloadsqlalchemy-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.py9
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