From: Mike Bayer Date: Fri, 17 Feb 2006 22:28:06 +0000 (+0000) Subject: modified query that uses JOIN keyword explicitly. a user gets much better performanc... X-Git-Tag: rel_0_1_1~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63f11ac1b05988ff74d769e88abe6abc661dc2e6;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git modified query that uses JOIN keyword explicitly. a user gets much better performance with it (though I dont) --- diff --git a/lib/sqlalchemy/databases/information_schema.py b/lib/sqlalchemy/databases/information_schema.py index f9c7aaf0b0..eb0863100a 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]