aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/sql/suites/json/combination
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-11-20 11:14:58 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-11-20 11:14:58 +0000
commit31773f157bf8164364649b5f470f52dece0a4317 (patch)
tree33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /yql/essentials/tests/sql/suites/json/combination
parent2c7938962d8689e175574fc1e817c05049f27905 (diff)
parenteff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff)
downloadydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'yql/essentials/tests/sql/suites/json/combination')
-rw-r--r--yql/essentials/tests/sql/suites/json/combination/nested.sql55
-rw-r--r--yql/essentials/tests/sql/suites/json/combination/unwrapped.sql9
2 files changed, 64 insertions, 0 deletions
diff --git a/yql/essentials/tests/sql/suites/json/combination/nested.sql b/yql/essentials/tests/sql/suites/json/combination/nested.sql
new file mode 100644
index 0000000000..39c6f64daa
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/json/combination/nested.sql
@@ -0,0 +1,55 @@
+/* syntax version 1 */
+/* postgres can not */
+
+-- Check that Json2::Parse/Serialize calls fold
+$json = CAST(@@{
+ "a": {
+ "b": {
+ "c": {
+ "d": "Matreshka!"
+ }
+ }
+ }
+}@@ as Json);
+
+SELECT
+ JSON_VALUE(
+ JSON_QUERY(
+ JSON_QUERY(
+ JSON_QUERY(
+ $json,
+ "strict $.a"
+ ),
+ "strict $.b"
+ ),
+ "strict $.c"
+ ),
+ "strict $.d"
+ );
+
+SELECT
+ JSON_EXISTS(
+ JSON_QUERY(
+ JSON_QUERY(
+ JSON_QUERY(
+ $json,
+ "strict $.a"
+ ),
+ "strict $.b"
+ ),
+ "strict $.c"
+ ),
+ "strict $.d"
+ );
+
+SELECT
+ JSON_QUERY(
+ JSON_QUERY(
+ JSON_QUERY(
+ $json,
+ "strict $.a"
+ ),
+ "strict $.b"
+ ),
+ "strict $.c"
+ ); \ No newline at end of file
diff --git a/yql/essentials/tests/sql/suites/json/combination/unwrapped.sql b/yql/essentials/tests/sql/suites/json/combination/unwrapped.sql
new file mode 100644
index 0000000000..fe40242344
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/json/combination/unwrapped.sql
@@ -0,0 +1,9 @@
+/* syntax version 1 */
+/* postgres can not */
+
+$json = Unwrap(CAST(@@{"x": 1}@@ as Json));
+
+SELECT
+ JSON_EXISTS($json, "strict $.x"),
+ JSON_VALUE($json, "strict $.x"),
+ JSON_QUERY($json, "strict $");