diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-08-10 09:23:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-08-10 09:23:46 +0000 |
commit | 5dde903f4f6659e384287a3e508b9f369c5a2ba3 (patch) | |
tree | 05cd2920d82f0023f6ac695dbb6eaeef64608401 /tests/test_parser.py | |
parent | Adding upstream version 17.9.1. (diff) | |
download | sqlglot-5dde903f4f6659e384287a3e508b9f369c5a2ba3.tar.xz sqlglot-5dde903f4f6659e384287a3e508b9f369c5a2ba3.zip |
Adding upstream version 17.11.0.upstream/17.11.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r-- | tests/test_parser.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py index 027a9ca..e7b0ca9 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -219,6 +219,9 @@ class TestParser(unittest.TestCase): with self.assertRaises(ParseError): parse_one("WITH cte AS (SELECT * FROM x)") + with self.assertRaises(ParseError): + parse_one("SELECT foo( FROM bar") + self.assertEqual( parse_one( "CREATE TABLE t (i UInt8) ENGINE = AggregatingMergeTree() ORDER BY tuple()", @@ -694,3 +697,14 @@ class TestParser(unittest.TestCase): def test_parse_floats(self): self.assertTrue(parse_one("1. ").is_number) + + def test_parse_terse_coalesce(self): + self.assertIsNotNone(parse_one("SELECT x ?? y FROM z").find(exp.Coalesce)) + self.assertEqual( + parse_one("SELECT a, b ?? 'No Data' FROM z").sql(), + "SELECT a, COALESCE(b, 'No Data') FROM z", + ) + self.assertEqual( + parse_one("SELECT a, b ?? c ?? 'No Data' FROM z").sql(), + "SELECT a, COALESCE(COALESCE(b, c), 'No Data') FROM z", + ) |