Re: how to create a non-inherited CHECK constraint in CREATE TABLE - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: how to create a non-inherited CHECK constraint in CREATE TABLE
Date
Msg-id 4F85D2C7.2090101@dunslane.net
Whole thread Raw
In response to Re: how to create a non-inherited CHECK constraint in CREATE TABLE  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: how to create a non-inherited CHECK constraint in CREATE TABLE
List pgsql-hackers

On 04/11/2012 02:45 PM, Tom Lane wrote:
> Alvaro Herrera<alvherre@commandprompt.com>  writes:
>> Excerpts from Nikhil Sontakke's message of mié abr 11 15:07:45 -0300 2012:
>>> This patch removes the support for :
>>>
>>> ALTER TABLE ONLY constraint_rename_test ADD CONSTRAINT con2 CHECK (b>  0);
>>>
>>> and uses
>>>
>>> ALTER TABLE constraint_rename_test ADD CONSTRAINT con2 CHECK ONLY (b>  0);
>>>
>>> I know it's a bit late in the commitfest, but if this patch makes this
>>> feature more "complete", maybe we should consider...
>> Personally I don't think we should consider this for 9.2.
> Well, if we're going to regret having offered the other syntax, now
> would be the time to figure that out, before we ship it not after.
> I would go so far as to say that if we don't accept this for 9.2
> we probably shouldn't accept it at all, because two different ways
> to spell the same thing isn't nice.
>
> I don't really care for the idea that the ONLY goes in a different place
> for this operation than for every other kind of ALTER TABLE, but it does
> make sense if you subscribe to the quoted theory that ONLY is a property
> of the constraint and not the ALTER command as such.
>
>


I think I rather dislike it. ONLY should be followed by the name of the
parent table whose children it causes us to exclude, IMNSHO. Moving it
elsewhere doesn't seem to me to be a blow for clarity at all.

cheers

andrew


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: how to create a non-inherited CHECK constraint in CREATE TABLE
Next
From: Alvaro Herrera
Date:
Subject: Re: how to create a non-inherited CHECK constraint in CREATE TABLE