summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/postgres.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-01-28 23:40:34 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-01-28 23:40:34 +0000
commit9e47517f4876da8d5af34d29f58b9ea59da98d8f (patch)
tree56a77fa40b743de5cbfd07b9f8c40be79b4601fa /lib/sqlalchemy/databases/postgres.py
parentbbc5e7c285a160f148eafa0ab442675fe88551ce (diff)
downloadsqlalchemy-9e47517f4876da8d5af34d29f58b9ea59da98d8f.tar.gz
added regexp search for "schema" in sequence reflection for [ticket:442], courtesy david.mugnai@spacespa.it
Diffstat (limited to 'lib/sqlalchemy/databases/postgres.py')
-rw-r--r--lib/sqlalchemy/databases/postgres.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py
index 7eee35320..3fea2e1a5 100644
--- a/lib/sqlalchemy/databases/postgres.py
+++ b/lib/sqlalchemy/databases/postgres.py
@@ -396,6 +396,12 @@ class PGDialect(ansisql.ANSIDialect):
coltype = coltype(*args, **kwargs)
colargs= []
if default is not None:
+ match = re.search(r"""(nextval\(')([^']+)('.*$)""", default)
+ if match is not None:
+ # the default is related to a Sequence
+ sch = table.schema
+ if '.' not in match.group(2) and sch is not None:
+ default = match.group(1) + sch + '.' + match.group(2) + match.group(3)
colargs.append(PassiveDefault(sql.text(default)))
table.append_column(schema.Column(name, coltype, nullable=nullable, *colargs))