Don't crash on reference to an un-available system column. Adopt a more consistent policy about what slot-type-specific getsysattr functions should do when system attributes are not available. To wit, they should all throw the same user-oriented error, rather than variously crashing or emitting developer-oriented messages.
This closes a identifiable problem in commits a71cfc56b and 3fb93103a (in v13 and v12), so back-patch into those branches, along with a test case to try to ensure we don't break it again. It is not known that any of the former crash cases are reachable in HEAD, but this seems like a good safety improvement in any case. Discussion: https://postgr.es/m/[email protected] Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/2602ee4689c7691196568c59656662acf3be4e87 Modified Files -------------- src/backend/executor/execTuples.c | 40 +++++++++++++++++++++++---- src/test/regress/expected/update.out | 53 ++++++++++++++++++++++++++++++++++++ src/test/regress/sql/update.sql | 32 ++++++++++++++++++++++ 3 files changed, 120 insertions(+), 5 deletions(-)
