i just only apply v5-0001 for now. create table t(a int); alter table t ADD CONSTRAINT cc CHECK (a > 0); alter table t alter CONSTRAINT cc NOT ENFORCED; alter table t alter CONSTRAINT cc ENFORCED;
the last two queries will fail, which means ALTER CONSTRAINT constraint_name [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ] in doc/src/sgml/ref/alter_table.sgml is not correct? also no code change in ATExecAlterConstraint. errmsg("cannot validated NOT ENFORCED constraint"))); should be errmsg("cannot validate NOT ENFORCED constraint"))); ? typedef struct ConstrCheck { char *ccname; char *ccbin; /* nodeToString representation of expr */ bool ccenforced; bool ccvalid; bool ccnoinherit; /* this is a non-inheritable constraint */ } ConstrCheck ConstraintImpliedByRelConstraint, get_relation_constraints need skip notenforced check constraint? put domain related tests from constraints.sql to domain.sql would be better.