Fix a couple of planner bugs in Gather Merge.

Neha Sharma reported these to Rushabh Lathia just after I commit
355d3993c5 went in.  The patch is
Rushabh's, with input from me.
pull/17/merge
Robert Haas 9 years ago
parent cd603a4d6b
commit 0ee92e1c9b
  1. 3
      src/backend/optimizer/plan/createplan.c
  2. 2
      src/backend/optimizer/plan/planner.c

@ -1474,13 +1474,14 @@ create_gather_merge_plan(PlannerInfo *root, GatherMergePath *best_path)
Oid *sortOperators;
Oid *collations;
bool *nullsFirst;
List *tlist = build_path_tlist(root, &best_path->path);
/* As with Gather, it's best to project away columns in the workers. */
subplan = create_plan_recurse(root, best_path->subpath, CP_EXACT_TLIST);
/* See create_merge_append_plan for why there's no make_xxx function */
gm_plan = makeNode(GatherMerge);
gm_plan->plan.targetlist = subplan->targetlist;
gm_plan->plan.targetlist = tlist;
gm_plan->num_workers = best_path->num_workers;
copy_generic_path_info(&gm_plan->plan, &best_path->path);

@ -3746,7 +3746,7 @@ create_grouping_paths(PlannerInfo *root,
create_gather_merge_path(root,
grouped_rel,
subpath,
NULL,
partial_grouping_target,
root->group_pathkeys,
NULL,
&total_groups);

Loading…
Cancel
Save