Re: how to create a non-inherited CHECK constraint in CREATE TABLE
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Nikhil Sontakke <nikkhils@gmail.com>
Cc: Noah Misch <noah@leadboat.com>, Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Peter Eisentraut <peter_e@gmx.net>, Jim Nasby <jim@nasby.net>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-04-16T16:45:01Z
Lists: pgsql-hackers
Excerpts from Nikhil Sontakke's message of lun abr 16 03:56:06 -0300 2012: > > > 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. Good, I agree with that too. Are you going to submit an updated patch? I started working on your original a couple of days ago but got distracted by some family news here. I'll send it to you so that you can start from there, to avoid duplicate work. > 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. Yeah, I was considering the same thing. "conisonly" isn't a very good name on its own (it only made sense because the ONLY came from "ALTER TABLE ONLY"). -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support