Re: how to create a non-inherited CHECK constraint in CREATE TABLE

Nikhils <nikkhils@gmail.com>

From: Nikhil Sontakke <nikkhils@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, Peter Eisentraut <peter_e@gmx.net>, Jim Nasby <jim@nasby.net>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-04-16T06:56:06Z
Lists: pgsql-hackers
> > Displace yes. It would error out if someone says
> >
> > ALTER TABLE ONLY... CHECK ();
> >
> > suggesting to use the ONLY with the CHECK.
>
> I'd say the behavior for that case can revert to the PostgreSQL 9.1
> behavior.
> If the table has children, raise an error.  Otherwise, add an inheritable
> CHECK constraint, albeit one lacking inheritors at that moment.
>
>
Ok, that sounds reasonable.

Another thing that we should consider is that if we are replacing ONLY with
NO INHERIT, then instead of just making a cosmetic syntactic change, we
should also replace all the is*only type of field names with noinherit for
the sake of completeness and uniformity.

Regards,
Nikhils