Re: json_query conditional wrapper bug - Mailing list pgsql-hackers

From Amit Langote
Subject Re: json_query conditional wrapper bug
Date
Msg-id CA+HiwqFoSbbBDxGDOanv+h1_fvLRim7p0vy0Ft3MfQrh0pZs9w@mail.gmail.com
Whole thread Raw
In response to Re: json_query conditional wrapper bug  (Peter Eisentraut <peter@eisentraut.org>)
List pgsql-hackers
On Wed, Sep 11, 2024 at 8:56 PM Peter Eisentraut <peter@eisentraut.org> wrote:
> On 11.09.24 13:25, Amit Langote wrote:
> > On Wed, Sep 11, 2024 at 6:57 PM Peter Eisentraut <peter@eisentraut.org> wrote:
> >> On 11.09.24 09:51, Amit Langote wrote:
> >>>>> I've updated your patch to include updated test outputs and a nearby
> >>>>> code comment expanded.  Do you intend to commit it or do you prefer
> >>>>> that I do?
> >>>>
> >>>> This change looks unrelated:
> >>>>
> >>>> -ERROR:  new row for relation "test_jsonb_constraints" violates check
> >>>> constraint "test_jsonb_constraint4"
> >>>> +ERROR:  new row for relation "test_jsonb_constraints" violates check
> >>>> constraint "test_jsonb_constraint5"
> >>>>
> >>>> Is this some randomness in the way these constraints are evaluated?
> >>>
> >>> The result of JSON_QUERY() in the CHECK constraint changes, so the
> >>> constraint that previously failed now succeeds after this change,
> >>> because the comparison looked like this before and after:
> >>>
> >>> -- before
> >>> postgres=# select jsonb '[10]' < jsonb '[10]';
> >>>    ?column?
> >>> ----------
> >>>    f
> >>> (1 row)
> >>>
> >>> -- after
> >>> postgres=# select jsonb '10' < jsonb '[10]';
> >>>    ?column?
> >>> ----------
> >>>    t
> >>> (1 row)
> >>>
> >>> That causes the next constraint to be evaluated and its failure
> >>> reported instead.
> >>>
> >>> In the attached, I've adjusted the constraint for the test case to be
> >>> a bit more relevant and removed a nearby somewhat redundant test,
> >>> mainly because its output changes after the adjustment.
> >>
> >> Ok, that looks good.  Good that we could clear that up a bit.
> >
> > Thanks for checking.  Would you like me to commit it?
>
> Please do.

Done.  Thanks for the report and the patch.

--
Thanks, Amit Langote



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options
Next
From: David Rowley
Date:
Subject: Re: Remove shadowed declaration warnings