Re: Bug in pg_get_constraintdef (for deferrable constraints) - Mailing list pgsql-hackers

From Stephan Szabo
Subject Re: Bug in pg_get_constraintdef (for deferrable constraints)
Date
Msg-id 20030101133815.Y81242-200000@megazone23.bigpanda.com
Whole thread Raw
In response to Re: Bug in pg_get_constraintdef (for deferrable constraints)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Bug in pg_get_constraintdef (for deferrable  (Rod Taylor <rbt@rbt.ca>)
Re: Bug in pg_get_constraintdef (for deferrable constraints)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Bug in pg_get_constraintdef (for deferrable constraints)  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
On Wed, 1 Jan 2003, Bruce Momjian wrote:

> Tom Lane wrote:
> > Bruce Momjian <pgman@candle.pha.pa.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.

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.

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Bug in pg_get_constraintdef (for deferrable constraints)
Next
From: mlw
Date:
Subject: Re: PostgreSQL Password Cracker