From e330cced03398df1a00ba28ddadd6a6d3d9ee12d Mon Sep 17 00:00:00 2001 From: RamonWill Date: Tue, 11 Aug 2020 22:49:39 +0100 Subject: [PATCH] Add error message for lookup --- doc/build/changelog/unreleased_14/4966.rst | 2 +- lib/sqlalchemy/dialects/mssql/base.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/build/changelog/unreleased_14/4966.rst b/doc/build/changelog/unreleased_14/4966.rst index 8af1d178bb..786c8b5d0a 100644 --- a/doc/build/changelog/unreleased_14/4966.rst +++ b/doc/build/changelog/unreleased_14/4966.rst @@ -1,5 +1,5 @@ .. change:: - :tags: mssql, usecase + :tags: mssql, usecase, postgresql :tickets: 4966 The :meth:`.Dialect.get_indexes` will now reflect the filter definitions diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index c1b25fb63e..d6ddeaf63d 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -2732,8 +2732,13 @@ class MSDialect(default.DefaultDialect): "name": row["name"], "unique": row["is_unique"] == 1, "column_names": [], - "dialect_options": {"mssql_where": row["filter_definition"]}, } + + if row["filter_definition"] is not None: + indexes[row["index_id"]].setdefault("dialect_options", {})[ + "mssql_where" + ] = row["filter_definition"] + rp = connection.execution_options(future_result=True).execute( sql.text( "select ind_col.index_id, ind_col.object_id, col.name " -- 2.47.3