On Mon, Sep 18, 2023 at 19:09 Erik Rijkers <er@xs4all.nl> wrote:
Op 9/18/23 om 05:15 schreef Amit Langote: > 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. 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: