From 4cc7d5a6dcda8f275b4156a9a23bbe5380be1b53 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 10 Aug 2023 11:23:50 +0200 Subject: Merging upstream version 17.11.0. Signed-off-by: Daniel Baumann --- tests/test_parser.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests/test_parser.py') 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", + ) -- cgit v1.2.3