diff options
author | Robert Haas <rhaas@postgresql.org> | 2018-02-26 09:30:12 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2018-02-26 09:32:32 -0500 |
commit | 3bf05e096b9f8375e640c5d7996aa57efd7f240c (patch) | |
tree | 3fd58281446affe85969aaa20e91c7d606068b72 /src/backend/utils/adt/ruleutils.c | |
parent | 5b570d771b80aadc98755208f8f1b81e9a5eb366 (diff) | |
download | postgresql-3bf05e096b9f8375e640c5d7996aa57efd7f240c.tar.gz postgresql-3bf05e096b9f8375e640c5d7996aa57efd7f240c.zip |
Add a new upper planner relation for partially-aggregated results.
Up until now, we've abused grouped_rel->partial_pathlist as a place to
store partial paths that have been partially aggregate, but that's
really not correct, because a partial path for a relation is supposed
to be one which produces the correct results with the addition of only
a Gather or Gather Merge node, and these paths also require a Finalize
Aggregate step. Instead, add a new partially_group_rel which can hold
either partial paths (which need to be gathered and then have
aggregation finalized) or non-partial paths (which only need to have
aggregation finalized). This allows us to reuse generate_gather_paths
for partially_grouped_rel instead of writing new code, so that this
patch actually basically no net new code while making things cleaner,
simplifying things for pending patches for partition-wise aggregate.
Robert Haas and Jeevan Chalke. 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/CA+TgmobrzFYS3+U8a_BCy3-hOvh5UyJbC18rEcYehxhpw5=ETA@mail.gmail.com
Discussion: http://postgr.es/m/CA+TgmoZyQEjdBNuoG9-wC5GQ5GrO4544Myo13dVptvx+uLg9uQ@mail.gmail.com
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
0 files changed, 0 insertions, 0 deletions