Re: TupleDescAttr bounds checks
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-04T15:38:24Z
Lists: pgsql-hackers
Attachments
- v1-reject-system-columns-in-COPY-WHERE.patch (text/x-diff) patch v1
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. regards, tom lane
Commits
-
Avoid unsafe access to negative index in a TupleDesc.
- 681a91d29d4d 17.10 landed
- 40fa04e7c851 14.23 landed
- 3c7a6bbe63e2 16.14 landed
- 11c2c0cc8d7c 18.4 landed
- 07e833e3cff3 15.18 landed
-
Disallow system columns in COPY FROM WHERE conditions.
- 21c69dc73f9d 19 (unreleased) landed
-
Add a test for creating an index on a whole-row expression.
- 4647ee2da37c 19 (unreleased) landed
-
Bounds-check access to TupleDescAttr with an Assert.
- c98ad086ad9b 19 (unreleased) landed
-
Prevent spurious "indexes on virtual generated columns are not supported".
- 570e2fcc041a 19 (unreleased) landed
- cceb9c18a50b 18.4 landed