diff options
| author | Saulius Žemaitaitis <saulius@zemaitaitis.lt> | 2016-04-11 23:16:45 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-06-06 14:27:31 -0400 |
| commit | a5f92314edd45a2e411b0f5b3c4d4bec0c7d92f8 (patch) | |
| tree | 682a9fa4564293c7efc1411f4cf621abf648490e /test | |
| parent | 991346d5bbc29479c6c500c3f2b64fd6cc2e9a39 (diff) | |
| download | sqlalchemy-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.py | 38 |
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, |
