1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-02 09:02:37 +03:00

Build column mapping for grouping sets in all required cases.

The previous coding frequently failed to fail because for one it's
unusual to have rollup clauses with one column, and for another
sometimes the wrong mapping didn't cause obvious problems.

Author: Jeevan Chalke
Reviewed-By: Andrew Gierth
Discussion: CAM2+6=W=9=hQOipH0HAPbkun3Z3TFWij_EiHue0_6UX=oR=1kw@mail.gmail.com
Backpatch: 9.5, where grouping sets were introduced
This commit is contained in:
Andres Freund
2015-07-26 15:17:44 +02:00
parent cf80ddee57
commit 144666f65b
3 changed files with 29 additions and 7 deletions

View File

@ -2401,13 +2401,8 @@ build_grouping_chain(PlannerInfo *root,
* Prepare the grpColIdx for the real Agg node first, because we may need
* it for sorting
*/
if (list_length(rollup_groupclauses) > 1)
{
Assert(rollup_lists && llast(rollup_lists));
top_grpColIdx =
remap_groupColIdx(root, llast(rollup_groupclauses));
}
if (parse->groupingSets)
top_grpColIdx = remap_groupColIdx(root, llast(rollup_groupclauses));
/*
* If we need a Sort operation on the input, generate that.