Fix usage of "tableoid" in GENERATED expressions. We consider this supported (though I've got my doubts that it's a good idea, because tableoid is not immutable). However, several code paths failed to fill the field in soon enough, causing such a GENERATED expression to see zero or the wrong value. This occurred when ALTER TABLE adds a new GENERATED column to a table with existing rows, and during regular INSERT or UPDATE on a foreign table with GENERATED columns.
Noted during investigation of a report from Vitaly Ustinov. Back-patch to v12 where GENERATED came in. Discussion: https://postgr.es/m/cam_deiwr2dpt6u4xb-ehigozzd3n3g37zb1+867zbsevtyo...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/2b0ee126bbf01cbfd657bd53c94f9284ba903ca2 Modified Files -------------- src/backend/commands/tablecmds.c | 13 ++++++++----- src/backend/executor/nodeModifyTable.c | 24 ++++++++++++++++++------ src/test/regress/expected/generated.out | 13 ++++++++----- src/test/regress/sql/generated.sql | 5 ++++- 4 files changed, 38 insertions(+), 17 deletions(-)
