diff --git a/src/backend/distributed/planner/multi_planner.c b/src/backend/distributed/planner/multi_planner.c index 5de8d5bd1..0e0b27c48 100644 --- a/src/backend/distributed/planner/multi_planner.c +++ b/src/backend/distributed/planner/multi_planner.c @@ -523,6 +523,8 @@ FinalizePlan(PlannedStmt *localPlan, MultiPlan *multiPlan) } } + multiPlan->relationIdList = localPlan->relationOids; + multiPlanData = (Node *) multiPlan; customScan->custom_private = list_make1(multiPlanData); diff --git a/src/backend/distributed/utils/citus_copyfuncs.c b/src/backend/distributed/utils/citus_copyfuncs.c index 9a3ab06af..cd5c334ee 100644 --- a/src/backend/distributed/utils/citus_copyfuncs.c +++ b/src/backend/distributed/utils/citus_copyfuncs.c @@ -107,6 +107,7 @@ CopyNodeMultiPlan(COPYFUNC_ARGS) COPY_NODE_FIELD(workerJob); COPY_NODE_FIELD(masterQuery); COPY_SCALAR_FIELD(routerExecutable); + COPY_NODE_FIELD(relationIdList); COPY_NODE_FIELD(insertSelectSubquery); COPY_NODE_FIELD(insertTargetList); diff --git a/src/backend/distributed/utils/citus_outfuncs.c b/src/backend/distributed/utils/citus_outfuncs.c index e5fb43fab..f2d988299 100644 --- a/src/backend/distributed/utils/citus_outfuncs.c +++ b/src/backend/distributed/utils/citus_outfuncs.c @@ -185,6 +185,7 @@ OutMultiPlan(OUTFUNC_ARGS) WRITE_NODE_FIELD(workerJob); WRITE_NODE_FIELD(masterQuery); WRITE_BOOL_FIELD(routerExecutable); + WRITE_NODE_FIELD(relationIdList); WRITE_NODE_FIELD(insertSelectSubquery); WRITE_NODE_FIELD(insertTargetList); diff --git a/src/backend/distributed/utils/citus_readfuncs.c b/src/backend/distributed/utils/citus_readfuncs.c index 6e597cb6e..db6ca6757 100644 --- a/src/backend/distributed/utils/citus_readfuncs.c +++ b/src/backend/distributed/utils/citus_readfuncs.c @@ -205,6 +205,7 @@ ReadMultiPlan(READFUNC_ARGS) READ_NODE_FIELD(workerJob); READ_NODE_FIELD(masterQuery); READ_BOOL_FIELD(routerExecutable); + READ_NODE_FIELD(relationIdList); READ_NODE_FIELD(insertSelectSubquery); READ_NODE_FIELD(insertTargetList); diff --git a/src/include/distributed/multi_physical_planner.h b/src/include/distributed/multi_physical_planner.h index 8f753a4e5..1e16286c4 100644 --- a/src/include/distributed/multi_physical_planner.h +++ b/src/include/distributed/multi_physical_planner.h @@ -228,6 +228,7 @@ typedef struct MultiPlan Job *workerJob; Query *masterQuery; bool routerExecutable; + List *relationIdList; /* INSERT ... SELECT via coordinator only */ Query *insertSelectSubquery;