diff options
Diffstat (limited to 'tests/fixtures/optimizer')
-rw-r--r-- | tests/fixtures/optimizer/qualify_columns.sql | 4 | ||||
-rw-r--r-- | tests/fixtures/optimizer/simplify.sql | 18 |
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/fixtures/optimizer/qualify_columns.sql b/tests/fixtures/optimizer/qualify_columns.sql index 1092bc8..ea96fe5 100644 --- a/tests/fixtures/optimizer/qualify_columns.sql +++ b/tests/fixtures/optimizer/qualify_columns.sql @@ -131,6 +131,10 @@ SELECT DATE(x.a) AS _col_0, DATE(x.b) AS c FROM x AS x GROUP BY DATE(x.a), DATE( SELECT (SELECT MIN(a) FROM UNNEST([1, 2])) AS f FROM x GROUP BY 1; SELECT (SELECT MIN(_q_0.a) AS _col_0 FROM UNNEST(ARRAY(1, 2)) AS _q_0) AS f FROM x AS x GROUP BY 1; +# dialect: bigquery +WITH x AS (select 'a' as a, 1 as b) SELECT x.a AS c, y.a as d, SUM(x.b) AS y, FROM x join x as y on x.a = y.a group by 1, 2; +WITH x AS (SELECT 'a' AS a, 1 AS b) SELECT x.a AS c, y.a AS d, SUM(x.b) AS y FROM x AS x JOIN x AS y ON x.a = y.a GROUP BY x.a, 2; + SELECT SUM(x.a) AS c FROM x JOIN y ON x.b = y.b GROUP BY c; SELECT SUM(x.a) AS c FROM x AS x JOIN y AS y ON x.b = y.b GROUP BY y.c; diff --git a/tests/fixtures/optimizer/simplify.sql b/tests/fixtures/optimizer/simplify.sql index 75abc38..87b42d1 100644 --- a/tests/fixtures/optimizer/simplify.sql +++ b/tests/fixtures/optimizer/simplify.sql @@ -113,6 +113,9 @@ a AND b; A XOR A; FALSE; +TRUE AND TRUE OR TRUE AND FALSE; +TRUE; + -------------------------------------- -- Absorption -------------------------------------- @@ -158,6 +161,12 @@ A OR C; A AND (B AND C) AND (D AND E); A AND B AND C AND D AND E; +A AND (A OR B) AND (A OR B OR C); +A; + +(A OR B) AND (A OR C) AND (A OR B OR C); +(A OR B) AND (A OR C); + -------------------------------------- -- Elimination -------------------------------------- @@ -194,6 +203,15 @@ NOT A; E OR (A AND B) OR C OR D OR (A AND NOT B); A OR C OR D OR E; +(A AND B) OR (A AND NOT B) OR (A AND NOT B); +A; + +(A AND B) OR (A AND B) OR (A AND NOT B); +A; + +(A AND B) OR (A AND NOT B) OR (A AND B) OR (A AND NOT B); +A; + -------------------------------------- -- Associativity -------------------------------------- |