diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 16:12:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 16:12:58 +0000 |
commit | 042432fc9a1f7c3d5d552f12449fe45109fbcd57 (patch) | |
tree | 227afb41878f15dba7350b90ec6cfd52a02aabd6 /tests/dialects/test_presto.py | |
parent | Adding upstream version 23.12.1. (diff) | |
download | sqlglot-042432fc9a1f7c3d5d552f12449fe45109fbcd57.tar.xz sqlglot-042432fc9a1f7c3d5d552f12449fe45109fbcd57.zip |
Adding upstream version 23.13.1.upstream/23.13.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/dialects/test_presto.py')
-rw-r--r-- | tests/dialects/test_presto.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/dialects/test_presto.py b/tests/dialects/test_presto.py index 4bafc08..108e916 100644 --- a/tests/dialects/test_presto.py +++ b/tests/dialects/test_presto.py @@ -10,6 +10,8 @@ class TestPresto(Validator): self.validate_identity("SELECT * FROM x qualify", "SELECT * FROM x AS qualify") self.validate_identity("CAST(x AS IPADDRESS)") self.validate_identity("CAST(x AS IPPREFIX)") + self.validate_identity("CAST(TDIGEST_AGG(1) AS TDIGEST)") + self.validate_identity("CAST(x AS HYPERLOGLOG)") self.validate_all( "CAST(x AS INTERVAL YEAR TO MONTH)", @@ -1059,6 +1061,15 @@ class TestPresto(Validator): ) def test_json(self): + with self.assertLogs(helper_logger): + self.validate_all( + """SELECT JSON_EXTRACT_SCALAR(TRY(FILTER(CAST(JSON_EXTRACT('{"k1": [{"k2": "{\\"k3\\": 1}", "k4": "v"}]}', '$.k1') AS ARRAY(MAP(VARCHAR, VARCHAR))), x -> x['k4'] = 'v')[1]['k2']), '$.k3')""", + write={ + "presto": """SELECT JSON_EXTRACT_SCALAR(TRY(FILTER(CAST(JSON_EXTRACT('{"k1": [{"k2": "{\\"k3\\": 1}", "k4": "v"}]}', '$.k1') AS ARRAY(MAP(VARCHAR, VARCHAR))), x -> x['k4'] = 'v')[1]['k2']), '$.k3')""", + "spark": """SELECT GET_JSON_OBJECT(FILTER(FROM_JSON(GET_JSON_OBJECT('{"k1": [{"k2": "{\\\\"k3\\\\": 1}", "k4": "v"}]}', '$.k1'), 'ARRAY<MAP<STRING, STRING>>'), x -> x['k4'] = 'v')[0]['k2'], '$.k3')""", + }, + ) + self.validate_all( "SELECT CAST(JSON '[1,23,456]' AS ARRAY(INTEGER))", write={ @@ -1073,7 +1084,6 @@ class TestPresto(Validator): "presto": 'SELECT CAST(JSON_PARSE(\'{"k1":1,"k2":23,"k3":456}\') AS MAP(VARCHAR, INTEGER))', }, ) - self.validate_all( "SELECT CAST(ARRAY [1, 23, 456] AS JSON)", write={ |