Re: Use BumpContext contexts for TupleHashTables' tablecxt
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, Jeff Janes <jeff.janes@gmail.com>
Date: 2025-10-26T22:16:41Z
Lists: pgsql-hackers
On Mon, 27 Oct 2025 at 11:11, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Related to this, while I was chasing Jeff's complaint I realized that > the none-too-small simplehash table for this is getting made in the > query's ExecutorState. That's pretty awful from the standpoint of > being able to blame memory consumption on the hash node. I'm not > sure though if we want to go so far as to make another context just > for the simplehash table. We could keep it in that same "tablectx" > at the price of destroying and rebuilding the simplehash table, not > just resetting it, at each node rescan. But that's not ideal either. I don't think you could do that and have your patch as SH_GROW() needs to pfree the old bucket array after rehashing, which bump won't like. David
Commits
-
Use BumpContext contexts in TupleHashTables, and do some code cleanup.
- c106ef08071a 19 (unreleased) landed
-
HashAgg: use Bump allocator for hash TupleHashTable entries.
- cc721c459d37 18.0 cited