From: Mike Bayer Date: Thu, 29 Jul 2010 15:17:53 +0000 (-0400) Subject: - Fixed "default schema" query to work with X-Git-Tag: rel_0_6_4~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45177044a51a553fd29532c6ea3b1689ba8246bc;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Fixed "default schema" query to work with pymssql backend. --- diff --git a/CHANGES b/CHANGES index c76d58e010..a4d60e77fc 100644 --- a/CHANGES +++ b/CHANGES @@ -44,6 +44,10 @@ CHANGES indexes on columns with similar names still have unique names. [ticket:1855] +- mssql + - Fixed "default schema" query to work with + pymssql backend. + - examples - The beaker_caching example has been reorgnized such that the Session, cache manager, diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 395015c774..4fb7744821 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1057,14 +1057,14 @@ class MSDialect(default.DefaultDialect): user_name = connection.scalar("SELECT user_name() as user_name;") if user_name is not None: # now, get the default schema - query = """ + query = sql.text(""" SELECT default_schema_name FROM sys.database_principals - WHERE name = ? + WHERE name = :name AND type = 'S' - """ + """) try: - default_schema_name = connection.scalar(query, [user_name]) + default_schema_name = connection.scalar(query, name=user_name) if default_schema_name is not None: return unicode(default_schema_name) except: