Re: JSON constructors and window functions - Mailing list pgsql-hackers

From Andres Freund
Subject Re: JSON constructors and window functions
Date
Msg-id 20220404162132.iv4vraocljwihs5o@alap3.anarazel.de
Whole thread Raw
In response to Re: JSON constructors and window functions  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,

On 2022-04-04 11:43:31 -0400, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > On 4/3/22 22:46, Andrew Dunstan wrote:
> >> On 4/3/22 20:11, Andres Freund wrote:
> >>> I don't think you're allowed to free stuff in a finalfunc - we might reuse the
> >>> transition state for further calls to the aggregate.
> 
> >> Doh! Of course! I'll fix it in the morning. Thanks.
> 
> > I've committed a fix for this. I didn't find something to clean out the
> > hash table, so I just removed the 'hash_destroy' and left it at that.
> > All the test I did came back with expected results.
> > Maybe a hash_reset() is something worth having assuming it's possible? I
> > note that simplehash has a reset function.
> 
> But removing the hash entries would be just as much of a problem
> wouldn't it?

I think so. I guess we could mark it as FINALFUNC_MODIFY = READ_WRITE. But I
don't see a reason why it'd be needed here.

Is it a problem that skipped_keys is reset in the finalfunc? I don't know how
these functions work. So far I don't understand why
JsonUniqueBuilderState->skipped_keys is long lived...

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: New Object Access Type hooks
Next
From: Peter Geoghegan
Date:
Subject: Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?