summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mssql
diff options
context:
space:
mode:
authorDerek Harland <derek.harland@finq.co.nz>2013-01-14 17:03:38 +1300
committerDerek Harland <derek.harland@finq.co.nz>2013-01-14 17:03:38 +1300
commitf5a5a6bf43faf53569f21cf05d4a28a4ba1f5229 (patch)
tree75600fe8b8b60fb97d3675680a279ae1b881248b /lib/sqlalchemy/dialects/mssql
parent38f765007253729f384cb2583a569194f3ee3435 (diff)
downloadsqlalchemy-f5a5a6bf43faf53569f21cf05d4a28a4ba1f5229.tar.gz
Add mssql_include option for mssql dialect
Diffstat (limited to 'lib/sqlalchemy/dialects/mssql')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index aacc58ba8..29f32f3f1 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -957,6 +957,16 @@ class MSDDLCompiler(compiler.DDLCompiler):
preparer.format_table(index.table),
', '.join([preparer.quote(c.name, c.quote) + (" " + o if o else "")
for c, o in zip(index.columns, ordering)]))
+
+ # handle other included columns
+ if index.kwargs.get("mssql_include"):
+ inclusions = [index.table.c[col] if isinstance(col, basestring) else col
+ for col in index.kwargs["mssql_include"]]
+
+ text += " INCLUDE (%s)" \
+ % ', '.join([preparer.quote(c.name, c.quote)
+ for c in inclusions])
+
return text
def visit_drop_index(self, drop):