On Wed, Jun 30, 2010 at 9:47 AM, Magnus Hagander <mag...@hagander.net> wrote: > We currently allow this: > > postgres=# create table t(a timestamptz not null primary key, check(a > > now())); > NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index > "t_pkey" for table "t" > CREATE TABLE > > > Which seems very wrong. For one thing, a dump of this database can not > be restored if now() has advanced enough into the future (which it > will eventually). It also makes impossible to do things like SET a=a > on the table. > > Yes, this is clearly a stupidly defined constraint, but why do we allow it? > > Shouldn't we disallow anything that's not IMMUTABLE in a check constraint?
suppose you did do this: shouldn't you then also recheck the constraint if the function is create/replaced? merlin -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers