pgsql: Include result relation info in direct modify ForeignScan nodes.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Include result relation info in direct modify ForeignScan nodes.
Date: 2020-10-14 08:59:18
Message-ID: E1kSccw-0007zl-Nu@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Include result relation info in direct modify ForeignScan nodes.

FDWs that can perform an UPDATE/DELETE remotely using the "direct modify"
set of APIs need to access the ResultRelInfo of the target table. That's
currently available in EState.es_result_relation_info, but the next
commit will remove that field.

This commit adds a new resultRelation field in ForeignScan, to store the
target relation's RT index, and the corresponding ResultRelInfo in
ForeignScanState. The FDW's PlanDirectModify callback is expected to set
'resultRelation' along with 'operation'. The core code doesn't need them
for anything, they are for the convenience of FDW's Begin- and
IterateDirectModify callbacks.

Authors: Amit Langote, Etsuro Fujita
Discussion: https://www.postgresql.org/message-id/CA%2BHiwqGEmiib8FLiHMhKB%2BCH5dRgHSLc5N5wnvc4kym%2BZYpQEQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/178f2d560dde05b356ab2f586b8bc62514f454aa

Modified Files
--------------
contrib/postgres_fdw/postgres_fdw.c | 16 +++++++++-------
doc/src/sgml/fdwhandler.sgml | 15 +++++++++------
src/backend/executor/nodeForeignscan.c | 7 +++++++
src/backend/nodes/copyfuncs.c | 1 +
src/backend/nodes/outfuncs.c | 1 +
src/backend/nodes/readfuncs.c | 1 +
src/backend/optimizer/plan/createplan.c | 4 ++++
src/backend/optimizer/plan/setrefs.c | 4 ++++
src/include/nodes/execnodes.h | 1 +
src/include/nodes/plannodes.h | 8 ++++++++
10 files changed, 45 insertions(+), 13 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2020-10-14 22:43:49 pgsql: Make WL_POSTMASTER_DEATH level-triggered on kqueue builds.
Previous Message Peter Eisentraut 2020-10-14 06:34:39 pgsql: Use https for gnu.org links