mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
Fix a couple of planner bugs in Gather Merge.
Neha Sharma reported these to Rushabh Lathia just after I commit 355d3993c53ed62c5b53d020648e4fbcfbf5f155 went in. The patch is Rushabh's, with input from me.
This commit is contained in:
parent
cd603a4d6b
commit
0ee92e1c9b
@ -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,
|
|||||||
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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user