aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/sql/suites/json/combination/nested.sql
blob: 39c6f64daa758d7f45fdbd7eb6ac9fee873e629e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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"
    );