Hi Jeff,
On Sat, Jan 11, 2025 at 9:32 AM Jeff Davis <jdavis@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.camel@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