summaryrefslogtreecommitdiff
path: root/test/dialect/mssql/test_compiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/dialect/mssql/test_compiler.py')
-rw-r--r--test/dialect/mssql/test_compiler.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/dialect/mssql/test_compiler.py b/test/dialect/mssql/test_compiler.py
index b7a06c8e3..25af3240e 100644
--- a/test/dialect/mssql/test_compiler.py
+++ b/test/dialect/mssql/test_compiler.py
@@ -22,6 +22,7 @@ from sqlalchemy import union
from sqlalchemy import UniqueConstraint
from sqlalchemy import update
from sqlalchemy.dialects import mssql
+from sqlalchemy.dialects.mssql import base as mssql_base
from sqlalchemy.dialects.mssql import mxodbc
from sqlalchemy.dialects.mssql.base import try_cast
from sqlalchemy.sql import column
@@ -525,6 +526,42 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
checkpositional=("bar",),
)
+ def test_schema_many_tokens_one(self):
+ metadata = MetaData()
+ tbl = Table(
+ "test",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ schema="abc.def.efg.hij",
+ )
+
+ # for now, we don't really know what the above means, at least
+ # don't lose the dot
+ self.assert_compile(
+ select([tbl]),
+ "SELECT [abc.def.efg].hij.test.id FROM [abc.def.efg].hij.test",
+ )
+
+ dbname, owner = mssql_base._schema_elements("abc.def.efg.hij")
+ eq_(dbname, "abc.def.efg")
+ assert not isinstance(dbname, quoted_name)
+ eq_(owner, "hij")
+
+ def test_schema_many_tokens_two(self):
+ metadata = MetaData()
+ tbl = Table(
+ "test",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ schema="[abc].[def].[efg].[hij]",
+ )
+
+ self.assert_compile(
+ select([tbl]),
+ "SELECT [abc].[def].[efg].hij.test.id "
+ "FROM [abc].[def].[efg].hij.test",
+ )
+
def test_force_schema_quoted_name_w_dot_case_insensitive(self):
metadata = MetaData()
tbl = Table(