From 9dae42c19381cf27dc56bd932aebd780aa66722b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 11 Jun 2023 14:46:06 +0200 Subject: Adding upstream version 15.2.0. Signed-off-by: Daniel Baumann --- tests/dialects/test_presto.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/dialects/test_presto.py') diff --git a/tests/dialects/test_presto.py b/tests/dialects/test_presto.py index 1f5953c..e3d09ef 100644 --- a/tests/dialects/test_presto.py +++ b/tests/dialects/test_presto.py @@ -6,6 +6,18 @@ class TestPresto(Validator): dialect = "presto" def test_cast(self): + self.validate_all( + "SELECT DATE_DIFF('week', CAST(SUBSTR(CAST('2009-01-01' AS VARCHAR), 1, 10) AS DATE), CAST(SUBSTR(CAST('2009-12-31' AS VARCHAR), 1, 10) AS DATE))", + read={"redshift": "SELECT DATEDIFF(week, '2009-01-01', '2009-12-31')"}, + ) + self.validate_all( + "SELECT DATE_ADD('month', 18, CAST(SUBSTR(CAST('2008-02-28' AS VARCHAR), 1, 10) AS DATE))", + read={"redshift": "SELECT DATEADD(month, 18, '2008-02-28')"}, + ) + self.validate_all( + "SELECT TRY_CAST('1970-01-01 00:00:00' AS TIMESTAMP)", + read={"postgres": "SELECT 'epoch'::TIMESTAMP"}, + ) self.validate_all( "FROM_BASE64(x)", read={ @@ -434,9 +446,16 @@ class TestPresto(Validator): self.validate_identity("START TRANSACTION ISOLATION LEVEL REPEATABLE READ") self.validate_identity("APPROX_PERCENTILE(a, b, c, d)") + self.validate_all("VALUES 1, 2, 3", write={"presto": "VALUES (1), (2), (3)"}) self.validate_all("INTERVAL '1 day'", write={"trino": "INTERVAL '1' day"}) self.validate_all("(5 * INTERVAL '7' day)", read={"": "INTERVAL '5' week"}) self.validate_all("(5 * INTERVAL '7' day)", read={"": "INTERVAL '5' WEEKS"}) + self.validate_all( + "SELECT SUBSTRING(a, 1, 3), SUBSTRING(a, LENGTH(a) - (3 - 1))", + read={ + "redshift": "SELECT LEFT(a, 3), RIGHT(a, 3)", + }, + ) self.validate_all( "WITH RECURSIVE t(n) AS (SELECT 1 AS n UNION ALL SELECT n + 1 AS n FROM t WHERE n < 4) SELECT SUM(n) FROM t", read={ -- cgit v1.2.3