Re: types of constraint deferment

From: Dennis Gearon <gearond(at)cvc(dot)net>
To: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
Cc: Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>, PgSQL General ML <pgsql-general(at)postgresql(dot)org>
Subject: Re: types of constraint deferment
Date: 2003-08-12 19:01:29
Message-ID: 3F393989.3030602@cvc.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Boy, that'd be nice to have in the manual!

Stephan Szabo wrote:

> On 12 Aug 2003, Ron Johnson wrote:
>
>
>>On Tue, 2003-08-12 at 00:38, Stephan Szabo wrote:
>>
>>>On 11 Aug 2003, Ron Johnson wrote:
>>>
>>>
>>>>v7.3.3
>>>>http://www.postgresql.org/docs/7.3/static/sql-createtable.html
>>>>
>>>>Is "INITIALLY DEFERRED" a modifier of "NOT DEFERRABLE"? If so,
>>>>what does it do, since they seem contradictory.
>>>
>>>It's not allowed. An INITIALLY DEFERRED constraint must not
>>>be defined as NOT DEFERRABLE, although an INITIALLY DEFERRED
>>>constraint that doesn't specify either is considered DEFERRABLE.
>>>The docs refered to are weak on this, care to try a rewrite of
>>>those parts? :)
>>
>>Sure, after I know what the rules are!!!!!
>
>
> Basically, you can specify one of the following states on the constraint
> (unless I'm missing something)
>
> Neither a check time nor a deferrability, in which case you get
> NOT DEFERRABLE INITIALLY IMMEDIATE
> No check time and NOT DEFERRABLE, in which case you get
> NOT DEFERRABLE INITIALLY IMMEDIATE
> No check time and DEFERRABLE, in which case you get
> DEFERRABLE INITIALLY IMMEDIATE
> A check time of INITIALLY IMMEDIATE and no deferrability, in which case
> you get NOT DEFERRABLE INITIALLY IMMEDIATE
> A check time of INITIALLY DEFERRED and no deferrability, in which case
> you get DEFERRABLE INITIALLY DEFERRED
> A check time of INITIALLY IMMEDIATE and NOT DEFERRABLE, in which case
> you get NOT DEFERRABLE INITIALLY IMMEDIATE
> A check time of INITIALLY IMMEDIATE and DEFERRABLE, in which case
> you get DEFERRABLE INITIALLY IMMEDIATE
> A check time of INITIALLY DEFERRED and DEFERRABLE, in which case
> you get DEFERRABLE INITIALLY DEFERRED
> A check time of INITIALLY DEFERRED and NOT DEFERRABLE is an error
> condition.
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Seichter 2003-08-12 19:11:59 general database password
Previous Message Dennis Gearon 2003-08-12 18:53:42 Re: PL/C functions