From: Mike Bayer Date: Sat, 16 Jan 2010 01:40:51 +0000 (+0000) Subject: reflect MSSQL cols that have descending markers [ticket:1629] X-Git-Tag: rel_0_6beta1~72 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=abdf3a22ccb23f2cfc7e5cf8b815c62f925d7b0d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git reflect MSSQL cols that have descending markers [ticket:1629] --- diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 1060446b27..8f52c4b125 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1228,6 +1228,7 @@ class MSDialect(default.DefaultDialect): @reflection.cache def get_indexes(self, connection, tablename, schema=None, **kw): current_schema = schema or self.default_schema_name + col_finder = re.compile("(\w+)") full_tname = "%s.%s" % (current_schema, tablename) indexes = [] s = sql.text("exec sp_helpindex '%s'" % full_tname) @@ -1239,7 +1240,7 @@ class MSDialect(default.DefaultDialect): if 'primary key' not in row['index_description']: indexes.append({ 'name' : row['index_name'], - 'column_names' : [c.strip() for c in row['index_keys'].split(',')], + 'column_names' : col_finder.findall(row['index_keys']), 'unique': 'unique' in row['index_description'] }) return indexes