Re: Refactoring SysCacheGetAttr to know when attr cannot be NULL
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-13T13:19:07Z
Lists: pgsql-hackers
Attachments
- v3-0001-Add-SysCacheGetAttrNotNull-for-guaranteed-not-nul.patch (application/octet-stream) patch v3-0001
> On 2 Mar 2023, at 15:44, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes: >> I think an error message like >> "unexpected null value in system cache %d column %d" >> is sufficient. Since these are "can't happen" errors, we don't need to >> spend too much extra effort to make it prettier. > > I'd at least like to see it give the catalog's OID. That's easily > convertible to a name, and it doesn't tend to move around across PG > versions, neither of which are true for syscache IDs. > > Also, I'm fairly unconvinced that it's a "can't happen" --- this > would be very likely to fire as a result of catalog corruption, > so it would be good if it's at least minimally interpretable > by a non-expert. Given that we'll now have just one copy of the > code, ISTM there's a good case for doing the small extra work > to report catalog and column by name. Rebased v3 on top of recent conflicting ICU changes causing the patch to not apply anymore. Also took another look around the tree to see if there were missed callsites but found none new. -- Daniel Gustafsson
Commits
-
Add SysCacheGetAttrNotNull for guaranteed not-null attrs
- d435f15fff3c 16.0 landed