diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-01-08 22:54:36 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-01-08 22:54:36 +0000 |
commit | fdb1c80747705bbb98027ff5f64bd5a89ee40874 (patch) | |
tree | 0cd94c358594f1f35e0ae1cc461ac6dad6913ffa | |
parent | a899179c8cdbd74c4a3a1b9e2712b92321182f0d (diff) | |
download | postgresql-fdb1c80747705bbb98027ff5f64bd5a89ee40874.tar.gz postgresql-fdb1c80747705bbb98027ff5f64bd5a89ee40874.zip |
Fix dumping of DEFERRABLE/INITIALLY DEFERRED:
> The big problem is that while pg_dump's dump_trigger() looks at
> tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look
> at tginitdeferred, and therefore doesn't record the requirement as part
> of ALTER TABLE ADD CONSTRAINT.
pg_get_constraintdef should probably be looking at condeferrable and
condeferred in the pg_constraint row it's looking at. Maybe something
like the attached.
(Added, output only non-default values.)
Stephan Szabo
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 796eaa05069..c70e74caab2 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -3,7 +3,7 @@ * back to source text * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.124 2002/09/19 23:40:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.124.2.1 2003/01/08 22:54:36 momjian Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -688,6 +688,11 @@ pg_get_constraintdef(PG_FUNCTION_ARGS) } appendStringInfo(&buf, " ON DELETE %s", string); + if (conForm->condeferrable) + appendStringInfo(&buf, " DEFERRABLE"); + if (conForm->condeferred) + appendStringInfo(&buf, " INITIALLY DEFERRED"); + break; } |