diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2019-10-03 21:40:27 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2019-10-03 21:40:27 +0000 |
| commit | 8a0125c1ecb6db8c059a48affe78579d040e48af (patch) | |
| tree | a88903fc6f74d8fd806181234f49855fdfe8a92d /lib/sqlalchemy/dialects | |
| parent | 334bad16792666a096c2cbe2dd8936eaaefa0251 (diff) | |
| parent | 66a7befa0c549b92d42afbb5be2b45da13793250 (diff) | |
| download | sqlalchemy-8a0125c1ecb6db8c059a48affe78579d040e48af.tar.gz | |
Merge "Apply quoting to SQL Server _switch_db"
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 54f0043c4..d4d303d5d 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -2174,12 +2174,21 @@ def _db_plus_owner(fn): def _switch_db(dbname, connection, fn, *arg, **kw): if dbname: current_db = connection.scalar("select db_name()") - connection.execute("use %s" % dbname) + if current_db != dbname: + connection.execute( + "use %s" + % connection.dialect.identifier_preparer.quote_schema(dbname) + ) try: return fn(*arg, **kw) finally: - if dbname: - connection.execute("use %s" % current_db) + if dbname and current_db != dbname: + connection.execute( + "use %s" + % connection.dialect.identifier_preparer.quote_schema( + current_db + ) + ) def _owner_plus_db(dialect, schema): |
