Re: TupleDescAttr bounds checks

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alexander Lakhin <exclusion(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: TupleDescAttr bounds checks
Date: 2026-04-04 21:52:02
Message-ID: 55199b03-dd62-46d3-be0a-e39217b27333@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 04.04.26 17:38, Tom Lane wrote:
> I wrote:
>> But I bet this loop should throw an error for system columns, too,
>> since we surely won't have computed those either.
>
> After poking at that: testing tableoid does sort of work, in that it
> reads as the OID of the target table named in COPY. But I think any
> rational use for a test on tableoid here would be in connection with
> a partitioned target table, and the user would wish it to read as the
> OID of the destination partition. So I think we should disallow
> tableoid along with the other system columns, pending somebody having
> the ambition to make that work.
>
> So I propose the attached for HEAD. (I couldn't resist the temptation
> to clean up adjacent comments.) In the back branches it might be
> better to just ignore system columns here, on the tiny chance that
> somebody thinks they do something useful.

I think this is the same issue that was discussed here:

https://www.postgresql.org/message-id/flat/30c39ee8-bb11-4b8f-9697-45f7e018a8d3%40eisentraut.org

There was no conclusion there, but I agree with the proposal to prohibit
this use.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2026-04-04 21:56:01 Re: PG 19 release notes and authors
Previous Message Andrei Lepikhov 2026-04-04 21:02:37 Re: pg_plan_advice