]> granicus.if.org Git - postgresql/commit
Allow aggregate transition states to be serialized and deserialized.
authorRobert Haas <rhaas@postgresql.org>
Tue, 29 Mar 2016 19:04:05 +0000 (15:04 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 29 Mar 2016 19:04:05 +0000 (15:04 -0400)
commit5fe5a2cee91117673e04617aeb1a38e305dcd783
tree191e937efe0f15daf02c921935d740f429decada
parent7f0a2c85fb221bae6908fb2fddad21a4c6d14438
Allow aggregate transition states to be serialized and deserialized.

This is necessary infrastructure for supporting parallel aggregation
for aggregates whose transition type is "internal".  Such values
can't be passed between cooperating processes, because they are
just pointers.

David Rowley, reviewed by Tomas Vondra and by me.
25 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/ref/create_aggregate.sgml
src/backend/catalog/pg_aggregate.c
src/backend/commands/aggregatecmds.c
src/backend/executor/nodeAgg.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.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_agg.c
src/bin/pg_dump/pg_dump.c
src/include/catalog/catversion.h
src/include/catalog/pg_aggregate.h
src/include/nodes/execnodes.h
src/include/nodes/plannodes.h
src/include/nodes/relation.h
src/include/optimizer/pathnode.h
src/include/optimizer/planmain.h
src/include/parser/parse_agg.h