Re: some validate_relation_kind() tidying

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: some validate_relation_kind() tidying
Date: 2026-02-23 16:44:07
Message-ID: 229414ac-57f2-4e38-94eb-441871b8dd52@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 19.02.26 09:48, Ashutosh Bapat wrote:
> The || should be &&. The bug shows up as an initdb failure
> running bootstrap script ... 2026-02-19 14:06:43.411 IST [197482]
> FATAL: cannot open relation "pg_type"
> 2026-02-19 14:06:43.411 IST [197482] DETAIL: This operation is not
> supported for tables.
>
> I think this is more future-proof. If a relkind gets added and needs
> to be in this list, we will notice it from the error. I think we
> should avoid mentioning specific relkinds in the comment as well since
> that list will need to be updated as the set of relkinds changes. Just
> mentioning the criteria should be enough. I have slightly improved the
> comment in the attached 0003.
>
>> Secondly, the sequence.c one was probably copied from the table.c one,
>> but I think we can make the error message a bit more direct by just
>> saying "... is not a sequence" instead of "cannot open relation".
>>
>
> +1.
>
>> These are the two attached patches. This is just something I found
>> while working on something else nearby.
>
> Attached are your two patches + bug fix in 0002 + my suggestions in 0003.

Thanks, committed with your fixes. (I fine-tuned the comment in patch
0003 a bit further, since arguably you can "reference" a composite type
in a query.)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2026-02-23 16:47:46 Re: BUG #19393: pg_upgrade fails with duplicate key violation when CHECK constraint named *_not_null exists
Previous Message Melanie Plageman 2026-02-23 16:41:29 Re: Moving the vacuum GUCs' docs out of the Client Connection Defaults section