Split create_grouping_paths into degenerate and non-degenerate cases.
authorRobert Haas <rhaas@postgresql.org>
Thu, 15 Mar 2018 18:43:58 +0000 (14:43 -0400)
committerRobert Haas <rhaas@postgresql.org>
Thu, 15 Mar 2018 18:43:58 +0000 (14:43 -0400)
commit1466bcfa4a83ba88b55cfcebb99080800627613a
tree3ca31d84078c8ee5fbb1905462d6e23d098cdaa3
parenta446a1c70f65c6c68598c2160b530606fa1b5c38
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
src/backend/optimizer/plan/planner.c