TupleHashTable: store additional data along with tuple.

Previously, the caller needed to allocate the memory and the
TupleHashTable would store a pointer to it. That wastes space for the
palloc overhead as well as the size of the pointer itself.

Now, the TupleHashTable relies on the caller to correctly specify the
additionalsize, and allocates that amount of space. The caller can
then request a pointer into that space.

Discussion: 
https://postgr.es/m/b9cbf0219a9859dc8d240311643ff4362fd9602c.ca...@j-davis.com
Reviewed-by: Heikki Linnakangas

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e0ece2a981ee9068f50c4423e303836c2585eb02

Modified Files
--------------
src/backend/executor/execGrouping.c | 57 +++++++++++++++++++++++++++++++++++--
src/backend/executor/nodeAgg.c      | 20 ++++++-------
src/backend/executor/nodeSetOp.c    | 17 +++++------
src/backend/executor/nodeSubplan.c  |  2 +-
src/include/executor/executor.h     |  3 ++
src/include/nodes/execnodes.h       | 10 ++-----
6 files changed, 78 insertions(+), 31 deletions(-)

Reply via email to