summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-12-15 12:16:28 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-12-15 12:16:28 -0500
commit1d09f5e837f2feb6e4101544ad7c6f15c0d0508a (patch)
treebdb8954f967383f4bec60f679c61e81b34741c6b /lib/sqlalchemy/dialects
parent09961886961668dcf452a1139eb8584bf48e2539 (diff)
downloadsqlalchemy-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.py29
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: