Re: BUG #15833: defining a comment on a domain constraint fails with wrong OID
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: clemens@ladisch.de, pgsql-bugs@lists.postgresql.org
Date: 2019-06-05T18:15:02Z
Lists: pgsql-bugs
On 2019-Jun-05, PG Bug reporting form wrote: > postgres=> CREATE DOMAIN ddd AS text CONSTRAINT ccc CHECK (TRUE); > CREATE DOMAIN > postgres=> COMMENT ON CONSTRAINT ccc ON DOMAIN ddd IS 'test'; > ERROR: 42704: type with OID 444275 does not exist > LOCATION: pg_type_ownercheck, aclchk.c:4585 Confirmed. It works for superusers, which explains why the existing regression tests pass -- and that's because check_object_ownership() (which is handing the OBJECT_DOMCONSTRAINT case wrongly) is bypassed for superusers. Annoyingly, get_object_address does not return the type's OID, only the domain's. I'm surprised that this has been broken for so long with no reports ... I broke it in 7eca575d1c28 (December 2014). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fix handling of COMMENT for domain constraints
- 13f4b462dbe8 9.5.18 landed
- ff1a25601e75 9.6.14 landed
- 56a932533aa2 10.9 landed
- fa5f3a4bcca7 11.4 landed
- ceac4505d342 12.0 landed