|
1 | 1 | # LogicTest: !local-mixed-24.3 !local-mixed-25.1 |
2 | 2 |
|
3 | | -query T |
4 | | -SELECT jsonb_path_query('"\\"', '$ ? (@ like_regex "^\\\\$")'); |
5 | | ----- |
6 | | -"\\" |
7 | | - |
8 | 3 | query T |
9 | 4 | SELECT jsonb_path_query('{}', '$') |
10 | 5 | ---- |
@@ -914,12 +909,52 @@ SELECT jsonb_path_query('[null, 1, "abc", "abd", "aBdC", "abdacb", "babc", "adc\ |
914 | 909 | "abc" |
915 | 910 | "abdacb" |
916 | 911 |
|
917 | | -# TODO(normanchenn): support scanning identQuote within regex. |
918 | | -# SELECT jsonb_path_query('"He said \"Hello\\World!\""', '$ ? (@ like_regex ".*\"H.*\\\\.*!.*\".*")'); |
| 912 | +query T |
| 913 | +SELECT jsonb_path_query('"He said \"Hello\\World!\""', '$ ? (@ like_regex ".*\"H.*\\\\.*!.*\".*")'); |
| 914 | +---- |
| 915 | +"He said \"Hello\\World!\"" |
| 916 | + |
| 917 | +query T rowsort |
| 918 | +SELECT jsonb_path_query('{"a": [1, 2], "b": "hello"}', '$.a ? ($.b == "hello") '); |
| 919 | +---- |
| 920 | +1 |
| 921 | +2 |
| 922 | + |
| 923 | +query T |
| 924 | +SELECT jsonb_path_query('{"a": [1, 2], "b": "hello"}', 'strict $.a ? ($.b == "hello") '); |
| 925 | +---- |
| 926 | +[1, 2] |
| 927 | + |
| 928 | +query T rowsort |
| 929 | +SELECT jsonb_path_query('{"a": "world", "b": 2, "c": true}', '$.*'); |
| 930 | +---- |
| 931 | +"world" |
| 932 | +2 |
| 933 | +true |
| 934 | + |
| 935 | +query T rowsort |
| 936 | +SELECT jsonb_path_query('{"a": ["hello", "world"], "b": [2, 5], "c": [true, false], "d": "non-array"}', '$.*[1]'); |
| 937 | +---- |
| 938 | +"world" |
| 939 | +5 |
| 940 | +false |
| 941 | + |
| 942 | +query T |
| 943 | +SELECT jsonb_path_query('{"a": {"ab": 1}, "b": {"bc": 2}, "c": {"cd": 3}}', '$.*.bc'); |
| 944 | +---- |
| 945 | +2 |
| 946 | + |
| 947 | +query empty |
| 948 | +SELECT jsonb_path_query('{}', '$.*'); |
| 949 | + |
| 950 | +query empty |
| 951 | +SELECT jsonb_path_query('[1, 2, 3, 4, 5]', '$.*'); |
| 952 | + |
| 953 | +query T rowsort |
| 954 | +SELECT jsonb_path_query('{"a": {"x": {"y": 1}}, "b": {"x": {"z": 2}}}', '$.*.x.*'); |
| 955 | +---- |
| 956 | +1 |
| 957 | +2 |
919 | 958 |
|
920 | 959 | # select jsonb_path_query('[1, 2, 3, 4, 5]', '$[-1]'); |
921 | 960 | # select jsonb_path_query('[1, 2, 3, 4, 5]', 'strict $[-1]'); |
922 | | - |
923 | | -# interesting functionality |
924 | | -# select jsonb_path_query('{"a": [1, 2], "b": "hello"}', '$.a ? ($.b == "hello") '); |
925 | | -# select jsonb_path_query('{"a": [1, 2], "b": "hello"}', '$.a'); |
|
0 commit comments