summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDerek Harland <derek.harland@finq.co.nz>2013-01-14 17:00:37 +1300
committerDerek Harland <derek.harland@finq.co.nz>2013-01-14 17:00:37 +1300
commit7198abb13e464b32639d03dc5987457ba64281c4 (patch)
treeedd80e30b35781eb022f80e18d5f6bf109119efa /lib
parent46a9209cde6e9e8bf333eada55ef45193f3f4fff (diff)
downloadsqlalchemy-7198abb13e464b32639d03dc5987457ba64281c4.tar.gz
Add mssql_clustered option for mssql dialect
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index d7c29654a..74d1a1320 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -932,6 +932,26 @@ class MSDDLCompiler(compiler.DDLCompiler):
return colspec
+ def visit_create_index(self, create, include_schema=False):
+ index = create.element
+ preparer = self.preparer
+ text = "CREATE "
+ if index.unique:
+ text += "UNIQUE "
+
+ # handle clustering option
+ if index.kwargs.get("mssql_clustered"):
+ text += "CLUSTERED "
+
+ text += "INDEX %s ON %s (%s)" \
+ % (
+ self._prepared_index_name(index,
+ include_schema=include_schema),
+ preparer.format_table(index.table),
+ ', '.join(preparer.quote(c.name, c.quote)
+ for c in index.columns))
+ return text
+
def visit_drop_index(self, drop):
return "\nDROP INDEX %s.%s" % (
self.preparer.quote_identifier(drop.element.table.name),