Hi Jeff, On Sat, Jan 11, 2025 at 9:32 AM Jeff Davis <jda...@postgresql.org> wrote: > > 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(-) >
Seems this introduced an indent issue? It should be a whitespace rather than a tab after the semicolon. @@ -835,6 +828,7 @@ typedef struct TupleHashTableData Oid *tab_collations; /* collations for hash and comparison */ MemoryContext tablecxt; /* memory context containing table */ MemoryContext tempcxt; /* context for function evaluations */ + Size additionalsize; /* size of additional data */ -- Regards Junwang Zhao