From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | David Rowley <dgrowleyml(at)gmail(dot)com> |
Cc: | Jeff Davis <pgsql(at)j-davis(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Reduce TupleHashEntryData struct size by half |
Date: | 2025-01-14 18:11:21 |
Message-ID: | 202501141811.gxexpftdhtku@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2025-Jan-14, David Rowley wrote:
> The trick would be to ensure ExecClearTuple() still works. You
> obviously don't want to try and pfree() something that isn't a pointer
> to a palloc'd chunk. I'm not sure what the best API is, but I do see
> there are other places that might benefit from something that allows
> this. The two usages of ExecCopySlotMinimalTuple() in nodeMemoize.c
> are candidates.
Maybe it would work to set a new flag in TupleTableSlot->tts_flag so
that ExecClearTuple() knows to handle it in some particular way (i.e.,
just skip the ->clear call altogether), with the idea that the tuple
memory belongs elsewhere and must not be freed by ExecClearTuple?
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"Los dioses no protegen a los insensatos. Éstos reciben protección de
otros insensatos mejor dotados" (Luis Wu, Mundo Anillo)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2025-01-14 18:21:22 | Re: pgsql: Consolidate docs for vacuum-related GUCs in new subsection |
Previous Message | Sami Imseih | 2025-01-14 17:59:48 | Re: New GUC autovacuum_max_threshold ? |