diff options
Diffstat (limited to 'tests/fixtures/optimizer/canonicalize.sql')
-rw-r--r-- | tests/fixtures/optimizer/canonicalize.sql | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/fixtures/optimizer/canonicalize.sql b/tests/fixtures/optimizer/canonicalize.sql index 954b1c1..302acb9 100644 --- a/tests/fixtures/optimizer/canonicalize.sql +++ b/tests/fixtures/optimizer/canonicalize.sql @@ -10,15 +10,27 @@ SELECT CAST(1 AS VARCHAR) AS "a" FROM "w" AS "w"; SELECT CAST(1 + 3.2 AS DOUBLE) AS a FROM w AS w; SELECT 1 + 3.2 AS "a" FROM "w" AS "w"; +SELECT '1' + 1 AS "col"; +SELECT '1' + 1 AS "col"; + +SELECT '1' + '1' AS "col"; +SELECT CONCAT('1', '1') AS "col"; + SELECT CAST('2022-01-01' AS DATE) + INTERVAL '1' day; SELECT CAST('2022-01-01' AS DATE) + INTERVAL '1' day AS "_col_0"; +SELECT CAST('2022-01-01' AS DATE) IS NULL AS "a"; +SELECT CAST('2022-01-01' AS DATE) IS NULL AS "a"; + -------------------------------------- -- Ensure boolean predicates -------------------------------------- SELECT a FROM x WHERE b; SELECT "x"."a" AS "a" FROM "x" AS "x" WHERE "x"."b" <> 0; +SELECT NOT b FROM x; +SELECT NOT "x"."b" <> 0 AS "_col_0" FROM "x" AS "x"; + SELECT a FROM x GROUP BY a HAVING SUM(b); SELECT "x"."a" AS "a" FROM "x" AS "x" GROUP BY "x"."a" HAVING SUM("x"."b") <> 0; @@ -46,8 +58,41 @@ CAST('2023-01-01' AS TIMESTAMP); TIMESTAMP('2023-01-01', '12:00:00'); TIMESTAMP('2023-01-01', '12:00:00'); +-------------------------------------- +-- Coerce date function args +-------------------------------------- +'2023-01-01' + INTERVAL '1' DAY; +CAST('2023-01-01' AS DATE) + INTERVAL '1' DAY; + +'2023-01-01' + INTERVAL '1' HOUR; +CAST('2023-01-01' AS DATETIME) + INTERVAL '1' HOUR; + +'2023-01-01 00:00:01' + INTERVAL '1' HOUR; +CAST('2023-01-01 00:00:01' AS DATETIME) + INTERVAL '1' HOUR; + +CAST('2023-01-01' AS DATE) + INTERVAL '1' HOUR; +CAST(CAST('2023-01-01' AS DATE) AS DATETIME) + INTERVAL '1' HOUR; + +SELECT t.d + INTERVAL '1' HOUR FROM temporal AS t; +SELECT CAST("t"."d" AS DATETIME) + INTERVAL '1' HOUR AS "_col_0" FROM "temporal" AS "t"; + DATE_ADD(CAST("x" AS DATE), 1, 'YEAR'); DATE_ADD(CAST("x" AS DATE), 1, 'YEAR'); DATE_ADD('2023-01-01', 1, 'YEAR'); DATE_ADD(CAST('2023-01-01' AS DATE), 1, 'YEAR'); + +DATE_ADD('2023-01-01 00:00:00', 1, 'DAY'); +DATE_ADD(CAST('2023-01-01 00:00:00' AS DATETIME), 1, 'DAY'); + +SELECT DATE_ADD(t.d, 1, 'HOUR') FROM temporal AS t; +SELECT DATE_ADD(CAST("t"."d" AS DATETIME), 1, 'HOUR') AS "_col_0" FROM "temporal" AS "t"; + +SELECT DATE_TRUNC('SECOND', t.d) FROM temporal AS t; +SELECT DATE_TRUNC('SECOND', CAST("t"."d" AS DATETIME)) AS "_col_0" FROM "temporal" AS "t"; + +DATE_TRUNC('DAY', '2023-01-01'); +DATE_TRUNC('DAY', CAST('2023-01-01' AS DATE)); + +DATEDIFF('2023-01-01', '2023-01-02', DAY); +DATEDIFF(CAST('2023-01-01' AS DATETIME), CAST('2023-01-02' AS DATETIME), DAY); |