summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-02-17 22:28:06 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-02-17 22:28:06 +0000
commit63f11ac1b05988ff74d769e88abe6abc661dc2e6 (patch)
tree5366f1c6350d7735e3c5cd6d10f6bdfb5ab176b7
parentedb8f67111ec1eba6a848d9c8ecdd60a535ce8dd (diff)
downloadsqlalchemy-63f11ac1b05988ff74d769e88abe6abc661dc2e6.tar.gz
modified query that uses JOIN keyword explicitly. a user gets much better performance with it (though I dont)
-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]