diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-15 12:16:28 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-15 12:16:28 -0500 |
| commit | 1d09f5e837f2feb6e4101544ad7c6f15c0d0508a (patch) | |
| tree | bdb8954f967383f4bec60f679c61e81b34741c6b /lib/sqlalchemy/dialects | |
| parent | 09961886961668dcf452a1139eb8584bf48e2539 (diff) | |
| download | sqlalchemy-1d09f5e837f2feb6e4101544ad7c6f15c0d0508a.tar.gz | |
- fix mssql index bug, regression post 0.6.4
- dont emit unicode warning if _warn_on_bytestring is false, including
for in-python string conversion
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 7dd7400ea..8f3b9ddb6 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1148,8 +1148,10 @@ class MSDialect(default.DefaultDialect): "and sch.name=:schname " "and ind.is_primary_key=0", bindparams=[ - sql.bindparam('tabname', tablename, sqltypes.Unicode), - sql.bindparam('schname', current_schema, sqltypes.Unicode) + sql.bindparam('tabname', tablename, + sqltypes.String(convert_unicode=True)), + sql.bindparam('schname', current_schema, + sqltypes.String(convert_unicode=True)) ] ) ) @@ -1161,16 +1163,21 @@ class MSDialect(default.DefaultDialect): 'column_names':[] } rp = connection.execute( - sql.text("select ind_col.index_id, col.name from sys.columns as col " - "join sys.index_columns as ind_col on " - "ind_col.column_id=col.column_id " - "join sys.tables as tab on tab.object_id=col.object_id " - "join sys.schemas as sch on sch.schema_id=tab.schema_id " - "where tab.name=:tabname " - "and sch.name=:schname", + sql.text( + "select ind_col.index_id, ind_col.object_id, col.name " + "from sys.columns as col " + "join sys.tables as tab on tab.object_id=col.object_id " + "join sys.index_columns as ind_col on " + "(ind_col.column_id=col.column_id and " + "ind_col.object_id=tab.object_id) " + "join sys.schemas as sch on sch.schema_id=tab.schema_id " + "where tab.name=:tabname " + "and sch.name=:schname", bindparams=[ - sql.bindparam('tabname', tablename, sqltypes.Unicode), - sql.bindparam('schname', current_schema, sqltypes.Unicode) + sql.bindparam('tabname', tablename, + sqltypes.String(convert_unicode=True)), + sql.bindparam('schname', current_schema, + sqltypes.String(convert_unicode=True)) ]), ) for row in rp: |
