Re: Patch bug: Fix jsonpath .* on Arrays

Степан Неретин <fenixrnd@mail.ru>

From: Степан Неретин <fenixrnd@mail.ru>
To: David E. Wheeler <david@justatheory.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, David G. Johnston <david.g.johnston@gmail.com>
Date: 2024-06-25T04:46:25Z
Lists: pgsql-hackers


  
>Вторник, 25 июня 2024, 11:17 +07:00 от David E. Wheeler <david@justatheory.com>:
> 
>On Jun 7, 2024, at 10:23, David E. Wheeler < david@justatheory.com > wrote:
> 
>> Rebased and moved the new tests to the end of the file.
>Bah, sorry, that was the previous patch. Here’s v3.
>
>D
>  
 
 
Hi! Looks good to me, but I have several comments.
Your patch improves tests, but why did you change formatting in jsonpath_exec.c? What's the motivation?
 
[1] select jsonb_path_query('[1,2,3,{"b": [3,4,5]}]', 'strict $.*');
I propose adding a similar test with explicitly specified lax mode: select jsonb_path_query('[1,2,3,{"b": [3,4,5]}]', 'lax $.*'); to show what lax mode is set by default.
 
Odd empty result for the test: select jsonb '[1,2,3,{"b": [3,4,5]}]' @? 'strict $.*';
I expected an error like in test [1]. This behavior is not obvious to me.
 
Everything else is cool. Thanks to the patch and the discussion above, I began to understand better how wildcards in JSON work.
Best regards, Stepan Neretin.
 

Commits

  1. Add more test coverage for jsonpath "$.*" with arrays