Tom Lane wrote:
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > I see the values being stored on constriant creation, but not being used
> > anywhere:
>
> I believe the values that actually get inspected at runtime are the
> tgdeferrable and tginitdeferred fields in pg_trigger. The columns in
> pg_constraint are just copies of these.
>
> It is not real clear to me whether it should be allowed to alter the
> deferrability status of a foreign-key constraint --- is that in the spec?
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.
Attached is a dump of the supplied example, showing that the outputs are the
same. Looks like this is a must-fix for 7.3.2.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
In response to
Responses
pgsql-hackers by date
| Next: | From: Stephan Szabo | Date: 2003-01-01 21:47:34 |
| Subject: Re: Bug in pg_get_constraintdef (for deferrable constraints) |
| Previous: | From: Tom Lane | Date: 2003-01-01 20:46:20 |
| Subject: Re: Bug in pg_get_constraintdef (for deferrable constraints) |