Re: BUG #19458: OOM killer in jsonb_path_exists_opr (@?) with malformed JSONPath containing non-existent variables

From: Nikita Malakhov <hukutoc(at)gmail(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: Amit Langote <amitlangote09(at)gmail(dot)com>, Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org, dhyan(at)nataraj(dot)su
Subject: Re: BUG #19458: OOM killer in jsonb_path_exists_opr (@?) with malformed JSONPath containing non-existent variables
Date: 2026-05-26 11:17:45
Message-ID: CAN-LCVPiBi9XXW__RorX=dH2_fANAMXhdbULmHFFg97F_0ubRw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi!

Sorry for the late answer - I missed this email.
No objections against backporting error throwing code, sorry if my
explanation
was not clear enough, of course OOM is very bad behavior and should be
corrected,
even if this would result in changes for some users (hopefully not).
My point in the previous message was only against silent mode.

Thanks!

On Thu, Apr 30, 2026 at 3:03 PM Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:

>
>
> > On 29 Apr 2026, at 01:19, Nikita Malakhov <hukutoc(at)gmail(dot)com> wrote:
> >
> > According to the Jsonpath standard, malformed expression should return
> an error,
> > but not all cases of malformation are thoroughly described.
> >
> > When this functionality was developed (Jsonpath and SQL/JSON) the absence
> > of the variable was considered as malformation and was decided to throw
> an error
> > in threads long time ago. In case this behavior to be a subject for
> change it surely
> > should not be backported, but the error-throwing code has to.
>
> I think you just explained very well why we throw an error. Your arguments
> against
> silent mode are valid and we don't need to consider RETURN_ERROR any
> further.
>
> Current master behavior throws an error, in this thread author propose to
> backport it.
> This might be behavior change for some users. But it seems to me we have
> to backport,
> because
>
> SELECT '42'::jsonb @? '$"no_such_var"';
>
> should not return true. What do you think?
>
>
> Best regards, Andrey Borodin.

--
Regards,
Nikita Malakhov
Postgres Professional
The Russian Postgres Company
https://postgrespro.ru/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Heikki Linnakangas 2026-05-26 12:28:02 Re: BUG #19490: Streaming standby on 16.14 stops applying WAL on MultiXactOffsetSLRU when primary is 16.8
Previous Message Andrey Borodin 2026-05-26 09:33:11 Re: BUG #19490: Streaming standby on 16.14 stops applying WAL on MultiXactOffsetSLRU when primary is 16.8