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