diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 6b79b3a..9da0bca 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -1056,6 +1056,7 @@ inheritance_planner(PlannerInfo *root) Index rti; RangeTblEntry *parent_rte; List *partitioned_rels = NIL; + bool is_parent_partitioned; Assert(parse->commandType != CMD_INSERT); @@ -1123,7 +1124,10 @@ inheritance_planner(PlannerInfo *root) */ parent_rte = rt_fetch(parentRTindex, root->parse->rtable); if (parent_rte->relkind == RELKIND_PARTITIONED_TABLE) + { nominalRelation = parentRTindex; + is_parent_partitioned = true; + } /* * And now we can get on with generating a plan for each child table. @@ -1368,7 +1372,7 @@ inheritance_planner(PlannerInfo *root) Assert(!parse->onConflict); } - if (parent_rte->relkind == RELKIND_PARTITIONED_TABLE) + if (is_parent_partitioned) { partitioned_rels = get_partitioned_child_rels(root, parentRTindex); /* The root partitioned table is included as a child rel */