summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSaulius Žemaitaitis <saulius@zemaitaitis.lt>2016-04-11 23:16:45 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-06-06 14:27:31 -0400
commita5f92314edd45a2e411b0f5b3c4d4bec0c7d92f8 (patch)
tree682a9fa4564293c7efc1411f4cf621abf648490e /test
parent991346d5bbc29479c6c500c3f2b64fd6cc2e9a39 (diff)
downloadsqlalchemy-a5f92314edd45a2e411b0f5b3c4d4bec0c7d92f8.tar.gz
Allow creating explicit non-clustered keys and indexes MS SQL.
mssql_clustered=False on Index, UniqueConstraint, PrimaryKeyConstraint now renders NONCLUSTERED. The default of mssql_clustered is now None. Co-Authored-By: mike bayer <mike_mp@zzzcomputing.com> Change-Id: Id6b8d840e355be8f8fa72360cb4b6d2617ba72cf Pull-request: https://github.com/zzzeek/sqlalchemy/pull/252
Diffstat (limited to 'test')
-rw-r--r--test/dialect/mssql/test_compiler.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/dialect/mssql/test_compiler.py b/test/dialect/mssql/test_compiler.py
index 599820492..92ff18069 100644
--- a/test/dialect/mssql/test_compiler.py
+++ b/test/dialect/mssql/test_compiler.py
@@ -650,6 +650,44 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL):
"PRIMARY KEY CLUSTERED (x, y))"
)
+ def test_table_pkc_explicit_nonclustered(self):
+ metadata = MetaData()
+ tbl = Table('test', metadata,
+ Column('x', Integer, autoincrement=False),
+ Column('y', Integer, autoincrement=False),
+ PrimaryKeyConstraint("x", "y", mssql_clustered=False))
+ self.assert_compile(
+ schema.CreateTable(tbl),
+ "CREATE TABLE test (x INTEGER NOT NULL, y INTEGER NOT NULL, "
+ "PRIMARY KEY NONCLUSTERED (x, y))"
+ )
+
+ def test_table_idx_explicit_nonclustered(self):
+ metadata = MetaData()
+ tbl = Table(
+ 'test', metadata,
+ Column('x', Integer, autoincrement=False),
+ Column('y', Integer, autoincrement=False)
+ )
+
+ idx = Index("myidx", tbl.c.x, tbl.c.y, mssql_clustered=False)
+ self.assert_compile(
+ schema.CreateIndex(idx),
+ "CREATE NONCLUSTERED INDEX myidx ON test (x, y)"
+ )
+
+ def test_table_uc_explicit_nonclustered(self):
+ metadata = MetaData()
+ tbl = Table('test', metadata,
+ Column('x', Integer, autoincrement=False),
+ Column('y', Integer, autoincrement=False),
+ UniqueConstraint("x", "y", mssql_clustered=False))
+ self.assert_compile(
+ schema.CreateTable(tbl),
+ "CREATE TABLE test (x INTEGER NULL, y INTEGER NULL, "
+ "UNIQUE NONCLUSTERED (x, y))"
+ )
+
def test_table_uc_clustering(self):
metadata = MetaData()
tbl = Table('test', metadata,