From 45177044a51a553fd29532c6ea3b1689ba8246bc Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 29 Jul 2010 11:17:53 -0400 Subject: [PATCH] - Fixed "default schema" query to work with pymssql backend. --- CHANGES | 4 ++++ lib/sqlalchemy/dialects/mssql/base.py | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) 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: -- 2.47.2