]> granicus.if.org Git - postgresql/commit
Support parallel aggregation.
authorRobert Haas <rhaas@postgresql.org>
Mon, 21 Mar 2016 13:20:53 +0000 (09:20 -0400)
committerRobert Haas <rhaas@postgresql.org>
Mon, 21 Mar 2016 13:30:18 +0000 (09:30 -0400)
commite06a38965b3bcdaa881e7e06892d4d8ab6c2c980
tree7fe176a2301090c3bec08999ff77b8d0ab90fabe
parent7fa0064092e135415a558dc3c4d7393d14ab6d8e
Support parallel aggregation.

Parallel workers can now partially aggregate the data and pass the
transition values back to the leader, which can combine the partial
results to produce the final answer.

David Rowley, based on earlier work by Haribabu Kommi.  Reviewed by
Álvaro Herrera, Tomas Vondra, Amit Kapila, James Sewell, and me.
23 files changed:
src/backend/executor/execQual.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/nodeFuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/prep/prepunion.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/tlist.c
src/backend/parser/parse_func.c
src/include/catalog/catversion.h
src/include/nodes/primnodes.h
src/include/nodes/relation.h
src/include/optimizer/clauses.h
src/include/optimizer/cost.h
src/include/optimizer/pathnode.h
src/include/optimizer/tlist.h