public inbox for [email protected]
help / color / mirror / Atom feedFrom: Erik Rijkers <[email protected]>
To: Amit Langote <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Cc: jian he <[email protected]>
Cc: Andrew Dunstan <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Subject: Re: remaining sql/json patches
Date: Mon, 18 Sep 2023 12:12:25 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+HiwqGq=v9HbgbMt2mHuxwhFq8u0dxqO9-aMtb0g9XamdWGLA@mail.gmail.com>
References: <CA+HiwqGvevxxRj3JdxCJOeDdQnX7hKeRTdfosL7j9J4T1uJ5kg@mail.gmail.com>
<[email protected]>
<CA+HiwqFzxD0nGBTQgGA+__bzcWwtwT8=NpVn8ZbJ9rq14_77nA@mail.gmail.com>
<[email protected]>
<CA+HiwqGq=v9HbgbMt2mHuxwhFq8u0dxqO9-aMtb0g9XamdWGLA@mail.gmail.com>
Op 9/18/23 om 05:15 schreef Amit Langote:
> On Sun, Sep 17, 2023 at 3:34 PM Erik Rijkers <[email protected]> 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. Alas, there are more: for 'anyarray' I thought I'd
substitute 'interval', 'int4range', 'int8range', and sure enough they
all give similar crashes. Patched with v15:
psql -qX -e << SQL
select json_query(jsonb'{"a":[{"a":[2,3]},{"a":[4,5]}]}',
'$.a[*].a?(@<=3)'returning int[] with wrapper --ok
);
select json_query(jsonb'{"a": [{"a": [2,3]}, {"a": [4,5]}]}',
'$.a[*].a?(@<=3)'returning interval with wrapper --crash
--'$.a[*].a?(@<=3)'returning int4range with wrapper --crash
--'$.a[*].a?(@<=3)'returning int8range with wrapper --crash
--'$.a[*].a?(@<=3)'returning numeric[] with wrapper --{2,3} =ok
--'$.a[*].a?(@<=3)'returning anyarray with wrapper --fixed
--'$.a[*].a?(@<=3)'returning anyarray --null =ok
--'$.a[*].a?(@<=3)'returning int --null =ok
--'$.a[*].a?(@<=3)'returning int with wrapper --error =ok
--'$.a[*].a?(@<=3)'returning int[] with wrapper -- {2,3} =ok
);
SQL
=> server closed the connection unexpectedly, etc
Because those first three tries gave a crash (*all three*), I'm a bit
worried there may be many more.
I am sorry to be bothering you with these somewhat idiotic SQL
statements but I suppose somehow it needs to be made more solid.
Thanks!
Erik
view thread (6+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: remaining sql/json patches
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox