From 916cd01feba6924f34a17407b7e233c48dbce5d4 Mon Sep 17 00:00:00 2001 From: Randall Smith Date: Thu, 30 Apr 2009 04:23:20 +0000 Subject: [PATCH] fix mssql cursor closed issue on reflection --- lib/sqlalchemy/dialects/mssql/base.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 3baf7b3a08..cfaf614890 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1179,6 +1179,7 @@ class MSDialect(default.DefaultDialect): view_names = [r[0] for r in connection.execute(s)] return view_names + # The cursor reports it is closed after executing the sp. @reflection.cache def get_indexes(self, connection, tablename, schema=None, **kw): current_schema = schema or self.get_default_schema_name(connection) @@ -1186,6 +1187,9 @@ class MSDialect(default.DefaultDialect): indexes = [] s = sql.text("exec sp_helpindex '%s'" % full_tname) rp = connection.execute(s) + if rp.closed: + # did not work for this setup. + return [] for row in rp: if 'primary key' not in row['index_description']: indexes.append({ -- 2.47.3