> 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.