hi. CREATE TABLE t (a int, b int); INSERT INTO t VALUES (NULL, 1), (300, 3); ALTER TABLE t ADD CONSTRAINT nn NOT NULL a NOT VALID; -- ok ALTER TABLE t add column c float8 default random(); the last query should not fail.
if we want more places use CompactAttribute->attnullability set_attnotnull should also set CompactAttribute->attnullability proactively not waiting CommandCounterIncrement invoke RelationBuildTupleDesc. another reason: CheckNNConstraintFetch only handle "if (!conform->convalidated)" what if the not-null is set conform->convalidated to true, then RelationBuildTupleDesc doesn't set/change CompactAttribute->attnullability at all. attached is all the needed changes after v8-0001, v8-0002, i think.
v8-0003-not-null-not-valid-miscellous-fix.no-cfbot
Description: Binary data