diff options
| author | Derek Harland <derek.harland@finq.co.nz> | 2013-01-14 17:03:38 +1300 |
|---|---|---|
| committer | Derek Harland <derek.harland@finq.co.nz> | 2013-01-14 17:03:38 +1300 |
| commit | f5a5a6bf43faf53569f21cf05d4a28a4ba1f5229 (patch) | |
| tree | 75600fe8b8b60fb97d3675680a279ae1b881248b /lib/sqlalchemy/dialects/mssql | |
| parent | 38f765007253729f384cb2583a569194f3ee3435 (diff) | |
| download | sqlalchemy-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.py | 10 |
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): |
