diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
commit | 31773f157bf8164364649b5f470f52dece0a4317 (patch) | |
tree | 33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /yql/essentials/tests/sql/suites/json/json_query/wrapper.sql | |
parent | 2c7938962d8689e175574fc1e817c05049f27905 (diff) | |
parent | eff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff) | |
download | ydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz |
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'yql/essentials/tests/sql/suites/json/json_query/wrapper.sql')
-rw-r--r-- | yql/essentials/tests/sql/suites/json/json_query/wrapper.sql | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/yql/essentials/tests/sql/suites/json/json_query/wrapper.sql b/yql/essentials/tests/sql/suites/json/json_query/wrapper.sql new file mode 100644 index 0000000000..7ec077f53c --- /dev/null +++ b/yql/essentials/tests/sql/suites/json/json_query/wrapper.sql @@ -0,0 +1,54 @@ +/* syntax version 1 */ +/* postgres can not */ + +$json = CAST(@@{ + "object": {"key": 123}, + "multi_object": [{"key": 123}, {"key": 456}, {"key": 789}], + "array": [1, 2, 3], + "multi_array": [[1, 2, 3], [4, 5, 6], [7, 8, 9]] +}@@ as Json); + +-- Check JSON_QUERY without wrapper +SELECT + JSON_QUERY($json, "strict $.array"), -- defaults to WITHOUT ARRAY WRAPPER + JSON_QUERY($json, "strict $.array" WITHOUT WRAPPER), + JSON_QUERY($json, "strict $.array" WITHOUT ARRAY WRAPPER), + JSON_QUERY($json, "strict $.object"), -- defaults to WITHOUT ARRAY WRAPPER + JSON_QUERY($json, "strict $.object" WITHOUT WRAPPER), + JSON_QUERY($json, "strict $.object" WITHOUT ARRAY WRAPPER); + +-- Check UNCONDITIONAL wrapper +SELECT + JSON_QUERY($json, "strict $.array" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER + JSON_QUERY($json, "strict $.array" WITH ARRAY WRAPPER), + JSON_QUERY($json, "strict $.array" WITH UNCONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.array" WITH UNCONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.object" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER + JSON_QUERY($json, "strict $.object" WITH ARRAY WRAPPER), + JSON_QUERY($json, "strict $.object" WITH UNCONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.object" WITH UNCONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.array[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER + JSON_QUERY($json, "strict $.array[*]" WITH ARRAY WRAPPER), + JSON_QUERY($json, "strict $.array[*]" WITH UNCONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.array[*]" WITH UNCONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_array[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER + JSON_QUERY($json, "strict $.multi_array[*]" WITH ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_array[*]" WITH UNCONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.multi_array[*]" WITH UNCONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_object[*]" WITH WRAPPER), -- default to WITH UNCONDITIONAL WRAPPER + JSON_QUERY($json, "strict $.multi_object[*]" WITH ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_object[*]" WITH UNCONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.multi_object[*]" WITH UNCONDITIONAL ARRAY WRAPPER); + +-- Check CONDITIONAL wrapper +SELECT + JSON_QUERY($json, "strict $.array" WITH CONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.array" WITH CONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.object" WITH CONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.object" WITH CONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.array[*]" WITH CONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.array[*]" WITH CONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_array[*]" WITH CONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.multi_array[*]" WITH CONDITIONAL ARRAY WRAPPER), + JSON_QUERY($json, "strict $.multi_object[*]" WITH CONDITIONAL WRAPPER), + JSON_QUERY($json, "strict $.multi_object[*]" WITH CONDITIONAL ARRAY WRAPPER); |