diff options
Diffstat (limited to 'src/backend/optimizer/plan/planner.c')
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 9 |
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. */ |