summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mssql
diff options
context:
space:
mode:
authorGord Thompson <gord@gordthompson.com>2021-12-20 14:37:13 -0700
committerMike Bayer <mike_mp@zzzcomputing.com>2021-12-27 14:32:39 -0500
commit5ada58954afa4fa427f4f7a91c683c1210d3d6df (patch)
tree983a285274d93bb94d3687fdb502d52470f9197d /lib/sqlalchemy/dialects/mssql
parent2bb6cfc7c9b8f09eaa4efeffc337a1162993979c (diff)
downloadsqlalchemy-5ada58954afa4fa427f4f7a91c683c1210d3d6df.tar.gz
Reflect included columns as dialect_options
Fixed reflection of covering indexes to report ``include_columns`` as part of the ``dialect_options`` entry in the reflected index dictionary, thereby enabling round trips from reflection->create to be complete. Included columns continue to also be present under the ``include_columns`` key for backwards compatibility. Fixes: #7382 Change-Id: I4f16b65caed3a36d405481690a3a92432b5efd62
Diffstat (limited to 'lib/sqlalchemy/dialects/mssql')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index 5b38c4bb5..03ab9e85e 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -3050,6 +3050,12 @@ class MSDialect(default.DefaultDialect):
indexes[row["index_id"]]["column_names"].append(
row["name"]
)
+ for index_info in indexes.values():
+ # NOTE: "root level" include_columns is legacy, now part of
+ # dialect_options (issue #7382)
+ index_info.setdefault("dialect_options", {})[
+ "mssql_include"
+ ] = index_info["include_columns"]
return list(indexes.values())