aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/planner.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/plan/planner.c')
-rw-r--r--src/backend/optimizer/plan/planner.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index a19f5d0c02a..26c0feb9df8 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -1975,6 +1975,15 @@ grouping_planner(PlannerInfo *root, bool inheritance_update,
}
/*
+ * Generate Gather or Gather Merge paths for the topmost scan/join
+ * relation. Once that's done, we must re-determine which paths are
+ * cheapest. (The previously-cheapest path might even have been
+ * pfree'd!)
+ */
+ generate_gather_paths(root, current_rel, false);
+ set_cheapest(current_rel);
+
+ /*
* Forcibly apply SRF-free scan/join target to all the Paths for the
* scan/join rel.
*/