Split create_grouping_paths into degenerate and non-degenerate cases.

Robert Haas <rhaas@postgresql.org>

Commit: 1466bcfa4a83ba88b55cfcebb99080800627613a
Author: Robert Haas <rhaas@postgresql.org>
Date: 2018-03-15T18:43:58Z
Releases: 11.0
Split create_grouping_paths into degenerate and non-degenerate cases.

There's no functional change here, or at least I hope there isn't,
just code rearrangement.  The rearrangement is motivated by
partition-wise aggregate, which doesn't need to consider the
degenerate case but wants to reuse the logic for the ordinary case.

Based loosely on a patch from Ashutosh Bapat and Jeevan Chalke, but I
whacked it around pretty heavily. The larger patch series of which
this patch is a part was also reviewed and tested by Antonin Houska,
Rajkumar Raghuwanshi, David Rowley, Dilip Kumar, Konstantin Knizhnik,
Pascal Legrand, Rafia Sabih, and me.

Discussion: http://postgr.es/m/CAFjFpRewpqCmVkwvq6qrRjmbMDpN0CZvRRzjd8UvncczA3Oz1Q@mail.gmail.com

Files

PathChange+/−
src/backend/optimizer/plan/planner.c modified +114 −72

Discussion