From: Randall Smith Date: Thu, 30 Apr 2009 04:23:20 +0000 (+0000) Subject: fix mssql cursor closed issue on reflection X-Git-Tag: rel_0_6_6~219 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=916cd01feba6924f34a17407b7e233c48dbce5d4;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git fix mssql cursor closed issue on reflection --- 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({