CHECK NO INHERIT syntax - Mailing list pgsql-hackers

From Peter Eisentraut
Subject CHECK NO INHERIT syntax
Date
Msg-id 1342648177.31327.10.camel@vanquo.pezone.net
Whole thread Raw
Responses Re: CHECK NO INHERIT syntax  (Robert Haas <robertmhaas@gmail.com>)
Re: CHECK NO INHERIT syntax  (David Fetter <david@fetter.org>)
Re: CHECK NO INHERIT syntax  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
Sorry to raise this once again, but I still find this CHECK NO INHERIT
syntax to a bit funny.  We are currently using something like

CHECK NO INHERIT (foo > 0)

But we already have a different syntax for attaching attributes to
constraints (NOT DEFERRABLE, NOT VALID,  etc.), so it would make more
sense to have

CHECK (foo > 0) NO INHERIT

Besides consistency, this makes more sense, because the attribute is a
property of the constraint as a whole, not of the "checking".

This would also extend more easily to other constraint types.  For
example, when unifying CHECK and NOT NULL constraints, as is planned, or
when allowing inherited unique constraints, as is planned further down
the road.

There is also a hole in the current implementation.  Domain constraints
silently allow NO INHERIT to be specified, even though other senseless
attributes are rejected.




pgsql-hackers by date:

Previous
From: Samuel Vogel
Date:
Subject: Re: b-tree index search algorithms
Next
From: Andrew Dunstan
Date:
Subject: Re: bgwriter, regression tests, and default shared_buffers settings