Re: Don't overwrite scan key in systable_beginscan() - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Don't overwrite scan key in systable_beginscan()
Date
Msg-id Z0c8NIvwwFoAMbV5@pryzbyj2023
Whole thread Raw
In response to Re: Don't overwrite scan key in systable_beginscan()  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: Don't overwrite scan key in systable_beginscan()
List 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



pgsql-hackers by date:

Previous
From: Jelte Fennema-Nio
Date:
Subject: Re: Consider pipeline implicit transaction as a transaction block
Next
From: "Malladi, Rama"
Date:
Subject: [PATCH] SVE popcount support