Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault - Mailing list pgsql-bugs

From Tender Wang
Subject Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault
Date
Msg-id CAHewXNnc35-OX=wA+MHkj+asYa0oezLwV5by=D00ga+EawN7Fg@mail.gmail.com
Whole thread Raw
In response to BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault
List pgsql-bugs


Amit Langote <amitlangote09@gmail.com> 于2024年10月16日周三 17:14写道:
On Wed, Oct 16, 2024 at 6:11 PM Tender Wang <tndrwang@gmail.com> wrote:
> Amit Langote <amitlangote09@gmail.com> 于2024年10月16日周三 17:06写道:
>>
>> On Wed, Oct 16, 2024 at 5:20 PM Tender Wang <tndrwang@gmail.com> wrote:
>> > Amit Langote <amitlangote09@gmail.com> 于2024年10月16日周三 08:35写道:
>> >>
>> >> On Wed, Oct 16, 2024 at 9:19 AM Michael Paquier <michael@paquier.xyz> wrote:
>> >> > On Tue, Oct 15, 2024 at 11:00:01AM +0000, PG Bug reporting form wrote:
>> >> > > First bad commit for this anomaly is b6e1157e7.
>> >> >
>> >> > Amit, any thoughts?
>> >>
>> >> Will look into it, thanks.
>> > Hi,
>> >
>> > I debug this issue, and I find that:
>> > after  b6e1157e7,  we shouldn't walk JsonValueExpr.raw_expr in expression_tree_walker_impl(), which
>> > is called in preprocess_aggrefs().
>> >
>> > I try to above solution, no crashed again.
>>
>> Thanks for the analysis.  That is my conclusion as well.
>>
>> Attached a patch.
>>
>
> Yeah, yours look more better than mine.  And the typo in my attached patch, is that right?
> JSON_OBJECT() should be JSON_OBJECTAGG()  near  transformJsonObjectAgg()

Yeah, the typo needs to be fixed as well.  Thanks for the patch.

So, attaching 0002 for that.

LGTM 


--
Thanks,
Tender Wang

pgsql-bugs by date:

Previous
From: Tender Wang
Date:
Subject: Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault
Next
From: bjdev.gthb@laposte.net
Date:
Subject: Re: BUG #18654: From fuzzystrmatch, levenshtein function with costs parameters produce incorrect results