summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/databases')
-rw-r--r--lib/sqlalchemy/databases/information_schema.py4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/sqlalchemy/databases/information_schema.py b/lib/sqlalchemy/databases/information_schema.py
index f9c7aaf0b..eb0863100 100644
--- a/lib/sqlalchemy/databases/information_schema.py
+++ b/lib/sqlalchemy/databases/information_schema.py
@@ -134,11 +134,9 @@ def reflecttable(engine, table, ischema_names, use_mysql=False):
colargs.append(PassiveDefault(sql.text(default, escape=False)))
table.append_item(schema.Column(name, coltype, nullable=nullable, *colargs))
- s = select([constraints.c.constraint_name, constraints.c.constraint_type, constraints.c.table_name, key_constraints], use_labels=True)
+ s = select([constraints.c.constraint_name, constraints.c.constraint_type, constraints.c.table_name, key_constraints], use_labels=True, from_obj=[constraints.join(column_constraints, column_constraints.c.constraint_name==constraints.c.constraint_name).join(key_constraints, key_constraints.c.constraint_name==column_constraints.c.constraint_name)])
if not use_mysql:
s.append_column(column_constraints)
- s.append_whereclause(key_constraints.c.constraint_name==column_constraints.c.constraint_name)
- s.append_whereclause(column_constraints.c.constraint_name==constraints.c.constraint_name)
s.append_whereclause(constraints.c.table_name==table.name)
s.append_whereclause(constraints.c.table_schema==current_schema)
colmap = [constraints.c.constraint_type, key_constraints.c.column_name, column_constraints.c.table_schema, column_constraints.c.table_name, column_constraints.c.column_name]