diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-10-29 19:24:15 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-10-29 19:24:15 +0000 |
commit | 90a886cc9073138324797525821e25e82d06915e (patch) | |
tree | f74461f55758ec38bf66badad5ab664a283c909c /lib/sqlalchemy/databases/postgres.py | |
parent | 53a8c03433103ca5c24d4a293539652e5e5d488c (diff) | |
download | sqlalchemy-90a886cc9073138324797525821e25e82d06915e.tar.gz |
Diffstat (limited to 'lib/sqlalchemy/databases/postgres.py')
-rw-r--r-- | lib/sqlalchemy/databases/postgres.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index f2057b909..ce81cd7d6 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -67,6 +67,16 @@ colspecs = { sqltypes.CHAR: PGChar, } +ischema_names = { + 'integer' : PGInteger, + 'character varying' : PGString, + 'character' : PGChar, + 'text' : PGText, + 'numeric' : PGNumeric, + 'timestamp without time zone' : PGDateTime, + 'bytea' : PGBinary, +} + def engine(opts, **params): return PGSQLEngine(opts, **params) @@ -191,9 +201,10 @@ class PGSQLEngine(ansisql.ANSISQLEngine): Column("column_name", String), Column("constraint_name", String), schema="information_schema") - - s = columns.select(columns.c.table_name==table.name, - from_obj=[sql.join(columns, column_constraints, + + 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, @@ -204,9 +215,10 @@ class PGSQLEngine(ansisql.ANSISQLEngine): 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)], - order_by=[columns.c.ordinal_position]) + ), isouter=True)), + s.append_column(constraints.c.constraint_type) + if table.schema is not None: s.append_whereclause(columns.c.table_schema==table.schema) else: |