Re: remaining sql/json patches - Mailing list pgsql-hackers

From Amit Langote
Subject Re: remaining sql/json patches
Date
Msg-id CA+HiwqGq=v9HbgbMt2mHuxwhFq8u0dxqO9-aMtb0g9XamdWGLA@mail.gmail.com
Whole thread Raw
In response to Re: remaining sql/json patches  (Erik Rijkers <er@xs4all.nl>)
Responses Re: remaining sql/json patches
Re: remaining sql/json patches
List pgsql-hackers
On Sun, Sep 17, 2023 at 3:34 PM Erik Rijkers <er@xs4all.nl> wrote:
> Op 9/14/23 om 10:14 schreef Amit Langote:
> >
> >
>
> Hi Amit,
>
> Just now I built a v14-patched server and I found this crash:
>
> select json_query(jsonb '
> {
>    "arr": [
>      {"arr": [2,3]}
>    , {"arr": [4,5]}
>    ]
> }'
>    , '$.arr[*].arr ? (@ <= 3)' returning anyarray  WITH WRAPPER) --crash
> ;
> server closed the connection unexpectedly
>         This probably means the server terminated abnormally
>         before or while processing the request.
> connection to server was lost

Thanks for the report.

Attached updated version fixes the crash, but you get an error as is
to be expected:

select json_query(jsonb '
{
   "arr": [
     {"arr": [2,3]}
   , {"arr": [4,5]}
   ]
}'
   , '$.arr[*].arr ? (@ <= 3)' returning anyarray  WITH WRAPPER);
ERROR:  cannot accept a value of type anyarray

unlike when using int[]:

select json_query(jsonb '
{
   "arr": [
     {"arr": [2,3]}
   , {"arr": [4,5]}
   ]
}'
   , '$.arr[*].arr ? (@ <= 3)' returning int[]  WITH WRAPPER);
 json_query
------------
 {2,3}
(1 row)

--
Thanks, Amit Langote
EDB: http://www.enterprisedb.com

Attachment

pgsql-hackers by date:

Previous
From: jian he
Date:
Subject: Re: SQL:2011 application time
Next
From: Amit Kapila
Date:
Subject: Re: Add 'worker_type' to pg_stat_subscription