diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-12-06 15:35:06 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-12-06 15:35:06 -0500 |
| commit | 0e256c28bc4cf2fdc512845d3869fe39563ad253 (patch) | |
| tree | 9846bbd113c2bb793ee18de4207f545e095b4dad /lib/sqlalchemy/dialects/mssql | |
| parent | e8180bb7180b9ea1e14fa97c6de3745596cb2c90 (diff) | |
| download | sqlalchemy-0e256c28bc4cf2fdc512845d3869fe39563ad253.tar.gz | |
- [bug] don't cast "table name" as NVARCHAR
on SQL Server 2000. Still mostly in the dark
what incantations are needed to make PyODBC
work fully with FreeTDS 0.91 here, however.
[ticket:2343]
Diffstat (limited to 'lib/sqlalchemy/dialects/mssql')
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 7d5676028..578c5073d 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1157,11 +1157,17 @@ class MSDialect(default.DefaultDialect): pass return self.schema_name + def _unicode_cast(self, column): + if self.server_version_info >= MS_2005_VERSION: + return cast(column, NVARCHAR(_warn_on_bytestring=False)) + else: + return column def has_table(self, connection, tablename, schema=None): current_schema = schema or self.default_schema_name columns = ischema.columns - whereclause = cast(columns.c.table_name, NVARCHAR(_warn_on_bytestring=False))==tablename + + whereclause = self._unicode_cast(columns.c.table_name)==tablename if current_schema: whereclause = sql.and_(whereclause, columns.c.table_schema==current_schema) |
