diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-10-30 01:09:38 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-10-30 01:09:38 +0000 |
commit | d541b93c56ca9583afb5d142c24f0f80ad171756 (patch) | |
tree | 2c1ab95075b194c5bf25b99d91fe7e6ad63b82cb /lib/sqlalchemy/databases/postgres.py | |
parent | a4ce639293ddddab6ec724b0776b49a624d90a32 (diff) | |
download | sqlalchemy-d541b93c56ca9583afb5d142c24f0f80ad171756.tar.gz |
Diffstat (limited to 'lib/sqlalchemy/databases/postgres.py')
-rw-r--r-- | lib/sqlalchemy/databases/postgres.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index 6a20e1704..ed98fedc4 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -206,22 +206,21 @@ class PGSQLEngine(ansisql.ANSISQLEngine): constraints = gen_constraints.toengine(table.engine) column_constraints = gen_column_constraints.toengine(table.engine) - s = columns.select(columns.c.table_name==table.name, order_by=[columns.c.ordinal_position]) - - s.append_from(sql.join(columns, column_constraints, - sql.and_( - columns.c.table_name==column_constraints.c.table_name, - columns.c.table_schema==column_constraints.c.table_schema, - columns.c.column_name==column_constraints.c.column_name, - ), - isouter=True).join(constraints, - sql.and_( - column_constraints.c.table_schema==constraints.c.table_schema, - column_constraints.c.constraint_name==constraints.c.constraint_name, - constraints.c.constraint_type=='PRIMARY KEY' - ), isouter=True)), - - s.append_column(constraints.c.constraint_type) + s = select([columns, constraints.c.constraint_type], + columns.c.table_name==table.name, + order_by=[columns.c.ordinal_position], + from_obj=[sql.join(columns, column_constraints, + sql.and_( + columns.c.table_name==column_constraints.c.table_name, + columns.c.table_schema==column_constraints.c.table_schema, + columns.c.column_name==column_constraints.c.column_name, + ), + isouter=True).join(constraints, + sql.and_( + column_constraints.c.table_schema==constraints.c.table_schema, + column_constraints.c.constraint_name==constraints.c.constraint_name, + constraints.c.constraint_type=='PRIMARY KEY' + ), isouter=True)]) if table.schema is not None: s.append_whereclause(columns.c.table_schema==table.schema) |