pgsql: Add a new upper planner relation for partially-aggregatedresult - Mailing list pgsql-committers

From Robert Haas
Subject pgsql: Add a new upper planner relation for partially-aggregatedresult
Date
Msg-id E1eqJpz-0004jq-JD@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3bf05e096b9f8375e640c5d7996aa57efd7f240c

Modified Files
--------------
src/backend/optimizer/README           |   1 +
src/backend/optimizer/geqo/geqo_eval.c |   2 +-
src/backend/optimizer/path/allpaths.c  |  26 +++-
src/backend/optimizer/plan/planner.c   | 273 +++++++++++++++------------------
src/include/nodes/relation.h           |   2 +
src/include/optimizer/paths.h          |   3 +-
6 files changed, 154 insertions(+), 153 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Translation updates
Next
From: Tom Lane
Date:
Subject: pgsql: Avoid using unsafe search_path settings during dump andrestore.