]> granicus.if.org Git - postgresql/commit
Redesign API presented by nodeAgg.c for ordered-set and similar aggregates.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Jul 2014 22:25:37 +0000 (18:25 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Jul 2014 22:25:37 +0000 (18:25 -0400)
commitf688cf548b3e37991009b7a3607171242c796e62
tree9ad67e8d3c9e05f918a029ee632534fdc9a95bd2
parent6b56bc16cdf0c59e7d18ec046b2ed63bc82faf7b
Redesign API presented by nodeAgg.c for ordered-set and similar aggregates.

The previous design exposed the input and output ExprContexts of the
Agg plan node, but work on grouping sets has suggested that we'll regret
doing that.  Instead provide more narrowly-defined APIs that can be
implemented in multiple ways, namely a way to get a short-term memory
context and a way to register an aggregate shutdown callback.

Back-patch to 9.4 where the bad APIs were introduced, since we don't
want third-party code using these APIs and then having to change in 9.5.

Andrew Gierth
src/backend/executor/nodeAgg.c
src/backend/utils/adt/orderedsetaggs.c
src/include/fmgr.h