diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 54c0440..52a3fff 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -3419,6 +3419,17 @@ create_grouping_paths(PlannerInfo *root, */ partial_grouping_target = make_partialgroup_input_target(root, target); + /* Apply partial grouping target to partial pathlist. */ + foreach(lc, input_rel->partial_pathlist) + { + Path *subpath = (Path *) lfirst(lc); + + Assert(subpath->param_info == NULL); + lfirst(lc) = apply_projection_to_path(root, input_rel, + subpath, + partial_grouping_target); + } + /* Estimate number of partial groups. */ dNumPartialGroups = get_number_of_groups(root, cheapest_partial_path->rows,