Fix planner's row-mark code for inheritance from a foreign table.
Commit 428b260f8 broke planning of cases where row marks are needed
(SELECT FOR UPDATE, etc) and one of the query's tables is a foreign
table that has regular table(s) as inheritance children. We got the
reverse case right, but apparently were thinking that foreign tables
couldn't be inheritance parents. Not so; so we need to be able to
add a CTID junk column while adding a new child, not only a wholerow
junk column.
Back-patch to v12 where the faulty code came in.
Amit Langote
Discussion: https://postgr.es/m/CA+HiwqEmo3FV1LAQ4TVyS2h1WM=kMkZUmbNuZSCnfHvMcUcPeA@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/889592344c48d3965567f331b4ea89dfe6447bce
Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 86 ++++++++++++++++++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql | 21 +++++++
src/backend/optimizer/util/inherit.c | 21 ++++++-
3 files changed, 126 insertions(+), 2 deletions(-)