On Wed, 29 Nov 2023 at 01:14, Peter Eisentraut <pe...@eisentraut.org> wrote: > > On 23.11.23 14:13, Aleksander Alekseev wrote: > > =# create domain connotnull1 integer; > > =# create domain connotnull2 integer; > > =# alter domain connotnull1 add not null value; > > =# alter domain connotnull2 set not null; > > =# \dD > > ERROR: unexpected null value in cached tuple for catalog > > pg_constraint column conkey > > Yeah, for domain not-null constraints pg_constraint.conkey is indeed > null. Should we put something in there? > > Attached is an updated patch that avoids the error by taking a separate > code path for domain constraints in ruleutils.c. But maybe there is > another way to arrange this.
One of the test has failed in CFBot at [1] with: diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/domain.out /tmp/cirrus-ci-build/src/test/regress/results/domain.out --- /tmp/cirrus-ci-build/src/test/regress/expected/domain.out 2024-01-14 15:40:01.793434601 +0000 +++ /tmp/cirrus-ci-build/src/test/regress/results/domain.out 2024-01-14 15:42:23.013332625 +0000 @@ -1271,11 +1271,4 @@ FROM information_schema.domain_constraints WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')) ORDER BY constraint_name; - constraint_catalog | constraint_schema | constraint_name | check_clause ---------------------+-------------------+------------------+------------------- - regression | public | con_check | (VALUE > 0) - regression | public | meow | (VALUE < 11) - regression | public | pos_int_check | (VALUE > 0) - regression | public | pos_int_not_null | VALUE IS NOT NULL -(4 rows) - +ERROR: could not open relation with OID 36379 [1] - https://cirrus-ci.com/task/4536440638406656 [2] - https://api.cirrus-ci.com/v1/artifact/task/4536440638406656/log/src/test/regress/regression.diffs Regards, Vignesh