diff options
Diffstat (limited to '')
-rw-r--r-- | tests/fixtures/optimizer/simplify.sql | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/tests/fixtures/optimizer/simplify.sql b/tests/fixtures/optimizer/simplify.sql index f821575..3ed02cd 100644 --- a/tests/fixtures/optimizer/simplify.sql +++ b/tests/fixtures/optimizer/simplify.sql @@ -240,9 +240,18 @@ A AND B AND C; SELECT x WHERE TRUE; SELECT x; -SELECT x FROM y LEFT JOIN z ON TRUE; +SELECT x FROM y JOIN z ON TRUE; +SELECT x FROM y CROSS JOIN z; + +SELECT x FROM y RIGHT JOIN z ON TRUE; SELECT x FROM y CROSS JOIN z; +SELECT x FROM y LEFT JOIN z ON TRUE; +SELECT x FROM y LEFT JOIN z ON TRUE; + +SELECT x FROM y FULL OUTER JOIN z ON TRUE; +SELECT x FROM y FULL OUTER JOIN z ON TRUE; + SELECT x FROM y JOIN z USING (x); SELECT x FROM y JOIN z USING (x); @@ -602,3 +611,57 @@ TRUE; x = 2018 OR x <> 2018; x <> 2018 OR x = 2018; + +-------------------------------------- +-- Coalesce +-------------------------------------- +COALESCE(x); +x; + +COALESCE(x, 1) = 2; +x = 2 AND NOT x IS NULL; + +2 = COALESCE(x, 1); +2 = x AND NOT x IS NULL; + +COALESCE(x, 1, 1) = 1 + 1; +x = 2 AND NOT x IS NULL; + +COALESCE(x, 1, 2) = 2; +x = 2 AND NOT x IS NULL; + +COALESCE(x, 3) <= 2; +x <= 2 AND NOT x IS NULL; + +COALESCE(x, 1) <> 2; +x <> 2 OR x IS NULL; + +COALESCE(x, 1) <= 2; +x <= 2 OR x IS NULL; + +COALESCE(x, 1) = 1; +x = 1 OR x IS NULL; + +COALESCE(x, 1) IS NULL; +FALSE; + +-------------------------------------- +-- CONCAT +-------------------------------------- +CONCAT(x, y); +CONCAT(x, y); + +CONCAT(x); +x; + +CONCAT('a', 'b', 'c'); +'abc'; + +CONCAT('a', x, y, 'b', 'c'); +CONCAT('a', x, y, 'bc'); + +'a' || 'b'; +'ab'; + +'a' || 'b' || x; +CONCAT('ab', x); |