Re: Catalog domain not-null constraints
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: vignesh C <vignesh21@gmail.com>,
Aleksander Alekseev <aleksander@timescale.com>
Date: 2024-02-07T08:10:52Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix ALTER DOMAIN NOT NULL syntax
- 9895b35cb88e 17.0 landed
-
Catalog domain not-null constraints
- e5da0fe3c22b 17.0 landed
-
Add tests for domain-related information schema views
- 9578393bc513 17.0 landed
Attachments
- v3-0001-Add-tests-for-domain-related-information-schema-v.patch (text/plain) patch v3-0001
- v3-0002-Catalog-domain-not-null-constraints.patch (text/plain) patch v3-0002
On 18.01.24 07:53, Peter Eisentraut wrote:
> On 17.01.24 13:15, vignesh C wrote:
>> 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
>
> Interesting. I couldn't reproduce this locally, even across different
> operating systems. The cfbot failures appear to be sporadic, but also
> happening across multiple systems, so it's clearly not just a local
> environment failure. Can anyone else perhaps reproduce this locally?
This patch set needed a rebase, so here it is.
About the sporadic test failure above, I think that is an existing issue
that is just now exposed through some test timing changes. The
pg_get_expr() function used in information_schema.check_constraints has
no locking against concurrent drops of tables. I think in this
particular case, the tests "domain" and "alter_table" are prone to this
conflict. If I move "domain" to a separate test group, the issue goes
away. I'll start a separate discussion about this issue.