Repair logic for reordering grouping sets optimization.

Andrew Gierth <rhodiumtoad@postgresql.org>

Commit: a1637caee9c77e30aaf4afb5c51e15cb67c4f3e3
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
Date: 2019-06-30T22:49:25Z
Releases: 10.10
Repair logic for reordering grouping sets optimization.

The logic in reorder_grouping_sets to order grouping set elements to
match a pre-specified sort ordering was defective, resulting in
unnecessary sort nodes (though the query output would still be
correct). Repair, simplifying the code a little, and add a test.

Per report from Richard Guo, though I didn't use their patch. Original
bug seems to have been my fault.

Backpatch back to 9.5 where grouping sets were introduced.

Discussion: https://postgr.es/m/CAN_9JTzyjGcUjiBHxLsgqfk7PkdLGXiM=pwM+=ph2LsWw0WO1A@mail.gmail.com

Files

Discussion