diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 20 | ||||
-rw-r--r-- | lib/sqlalchemy/testing/suite/test_ddl.py | 10 |
2 files changed, 24 insertions, 6 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 5c446341c..4a83c0854 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -2019,14 +2019,24 @@ class MSIdentifierPreparer(compiler.IdentifierPreparer): def quote_schema(self, schema, force=None): """Prepare a quoted table and schema name.""" + # need to re-implement the deprecation warning entirely + if force is not None: + # not using the util.deprecated_params() decorator in this + # case because of the additional function call overhead on this + # very performance-critical spot. + util.warn_deprecated( + "The IdentifierPreparer.quote_schema.force parameter is " + "deprecated and will be removed in a future release. This " + "flag has no effect on the behavior of the " + "IdentifierPreparer.quote method; please refer to " + "quoted_name()." + ) + dbname, owner = _schema_elements(schema) if dbname: - result = "%s.%s" % ( - self.quote(dbname, force), - self.quote(owner, force), - ) + result = "%s.%s" % (self.quote(dbname), self.quote(owner)) elif owner: - result = self.quote(owner, force) + result = self.quote(owner) else: result = "" return result diff --git a/lib/sqlalchemy/testing/suite/test_ddl.py b/lib/sqlalchemy/testing/suite/test_ddl.py index fe6911c40..81a55e18a 100644 --- a/lib/sqlalchemy/testing/suite/test_ddl.py +++ b/lib/sqlalchemy/testing/suite/test_ddl.py @@ -14,12 +14,13 @@ from ... import Table class TableDDLTest(fixtures.TestBase): __backend__ = True - def _simple_fixture(self): + def _simple_fixture(self, schema=None): return Table( "test_table", self.metadata, Column("id", Integer, primary_key=True, autoincrement=False), Column("data", String(50)), + schema=schema, ) def _underscore_fixture(self): @@ -43,6 +44,13 @@ class TableDDLTest(fixtures.TestBase): table.create(config.db, checkfirst=False) self._simple_roundtrip(table) + @requirements.create_table + @util.provide_metadata + def test_create_table_schema(self): + table = self._simple_fixture(schema=config.test_schema) + table.create(config.db, checkfirst=False) + self._simple_roundtrip(table) + @requirements.drop_table @util.provide_metadata def test_drop_table(self): |