Re: Don't overwrite scan key in systable_beginscan()

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Noah Misch <noah(at)leadboat(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Don't overwrite scan key in systable_beginscan()
Date: 2024-11-27 15:35:16
Message-ID: Z0c8NIvwwFoAMbV5@pryzbyj2023
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Nov 27, 2024 at 04:33:25PM +0100, Peter Eisentraut wrote:
> On 26.11.24 14:56, Justin Pryzby wrote:
> > Since 811af9786b, the palloc'd idxkey's seem to be leaking/accumulating
> > throughout the command.
> >
> > I noticed this on the master branch while running ANALYZE on partitioned
> > table with 600 attributes, even though only 6 were being analyzed.
> >
> > LOG: level: 3; BuildRelationExtStatistics: 1239963512 total in 278 blocks; 5082984 free (296 chunks); 1234880528 used
> >
> > Several indexes are being scanned many thousands of times.
>
> Hmm, this patch inserts one additional palloc() call per
> systable_beginscan(). So it won't have much of an impact for isolated
> calls, but for thousands of scans you get thousands of small chunks of
> memory.
>
> Does your test case get better if you insert corresponding pfree() calls?

Yes -- I'd already checked.

--
Justin

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Malladi, Rama 2024-11-27 15:43:27 [PATCH] SVE popcount support
Previous Message Jelte Fennema-Nio 2024-11-27 15:35:09 Re: Consider pipeline implicit transaction as a transaction block