Commit 0ee92e1c authored by Robert Haas's avatar Robert Haas

Fix a couple of planner bugs in Gather Merge.

Neha Sharma reported these to Rushabh Lathia just after I commit
355d3993 went in.  The patch is
Rushabh's, with input from me.
parent cd603a4d
...@@ -1474,13 +1474,14 @@ create_gather_merge_plan(PlannerInfo *root, GatherMergePath *best_path) ...@@ -1474,13 +1474,14 @@ create_gather_merge_plan(PlannerInfo *root, GatherMergePath *best_path)
Oid *sortOperators; Oid *sortOperators;
Oid *collations; Oid *collations;
bool *nullsFirst; bool *nullsFirst;
List *tlist = build_path_tlist(root, &best_path->path);
/* As with Gather, it's best to project away columns in the workers. */ /* As with Gather, it's best to project away columns in the workers. */
subplan = create_plan_recurse(root, best_path->subpath, CP_EXACT_TLIST); subplan = create_plan_recurse(root, best_path->subpath, CP_EXACT_TLIST);
/* See create_merge_append_plan for why there's no make_xxx function */ /* See create_merge_append_plan for why there's no make_xxx function */
gm_plan = makeNode(GatherMerge); gm_plan = makeNode(GatherMerge);
gm_plan->plan.targetlist = subplan->targetlist; gm_plan->plan.targetlist = tlist;
gm_plan->num_workers = best_path->num_workers; gm_plan->num_workers = best_path->num_workers;
copy_generic_path_info(&gm_plan->plan, &best_path->path); copy_generic_path_info(&gm_plan->plan, &best_path->path);
......
...@@ -3746,7 +3746,7 @@ create_grouping_paths(PlannerInfo *root, ...@@ -3746,7 +3746,7 @@ create_grouping_paths(PlannerInfo *root,
create_gather_merge_path(root, create_gather_merge_path(root,
grouped_rel, grouped_rel,
subpath, subpath,
NULL, partial_grouping_target,
root->group_pathkeys, root->group_pathkeys,
NULL, NULL,
&total_groups); &total_groups);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment