Adding upstream version 25.30.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c61927f460
commit
44a4f87ffd
69 changed files with 48139 additions and 46098 deletions
|
@ -329,7 +329,7 @@ class TestParser(unittest.TestCase):
|
|||
e, --
|
||||
f -- space
|
||||
FROM foo
|
||||
"""
|
||||
"""
|
||||
)
|
||||
|
||||
self.assertEqual(expression.comments, ["comment1.1", "comment1.2", "comment1.3"])
|
||||
|
@ -340,6 +340,20 @@ class TestParser(unittest.TestCase):
|
|||
self.assertEqual(expression.expressions[4].comments, [""])
|
||||
self.assertEqual(expression.expressions[5].comments, [" space"])
|
||||
|
||||
expression = parse_one(
|
||||
"""
|
||||
SELECT a.column_name --# Comment 1
|
||||
,b.column_name2, --# Comment 2
|
||||
b.column_name3 AS NAME3 --# Comment 3
|
||||
FROM table_name a
|
||||
JOIN table_name2 b ON a.column_name = b.column_name
|
||||
"""
|
||||
)
|
||||
|
||||
self.assertEqual(expression.expressions[0].comments, ["# Comment 1"])
|
||||
self.assertEqual(expression.expressions[1].comments, ["# Comment 2"])
|
||||
self.assertEqual(expression.expressions[2].comments, ["# Comment 3"])
|
||||
|
||||
def test_comments_select_cte(self):
|
||||
expression = parse_one(
|
||||
"""
|
||||
|
@ -350,7 +364,7 @@ class TestParser(unittest.TestCase):
|
|||
a.*
|
||||
FROM /*comment3*/
|
||||
a
|
||||
"""
|
||||
"""
|
||||
)
|
||||
|
||||
self.assertEqual(expression.comments, ["comment2"])
|
||||
|
@ -698,20 +712,20 @@ class TestParser(unittest.TestCase):
|
|||
self.assertEqual(expected_columns, [col.sql(dialect=dialect) for col in columns])
|
||||
|
||||
def test_parse_nested(self):
|
||||
now = time.time()
|
||||
query = parse_one("SELECT * FROM a " + ("LEFT JOIN b ON a.id = b.id " * 38))
|
||||
self.assertIsNotNone(query)
|
||||
self.assertLessEqual(time.time() - now, 0.1)
|
||||
def warn_over_threshold(query: str, max_threshold: float = 0.2):
|
||||
now = time.time()
|
||||
ast = parse_one(query)
|
||||
end = time.time() - now
|
||||
|
||||
now = time.time()
|
||||
query = parse_one("SELECT * FROM a " + ("LEFT JOIN UNNEST(ARRAY[]) " * 15))
|
||||
self.assertIsNotNone(query)
|
||||
self.assertLessEqual(time.time() - now, 0.1)
|
||||
self.assertIsNotNone(ast)
|
||||
if end >= max_threshold:
|
||||
parser_logger.warning(
|
||||
f"Query {query[:100]}... surpassed the time threshold of {max_threshold} seconds"
|
||||
)
|
||||
|
||||
now = time.time()
|
||||
query = parse_one("SELECT * FROM a " + ("OUTER APPLY (SELECT * FROM b) " * 30))
|
||||
self.assertIsNotNone(query)
|
||||
self.assertLessEqual(time.time() - now, 0.1)
|
||||
warn_over_threshold("SELECT * FROM a " + ("LEFT JOIN b ON a.id = b.id " * 38))
|
||||
warn_over_threshold("SELECT * FROM a " + ("LEFT JOIN UNNEST(ARRAY[]) " * 15))
|
||||
warn_over_threshold("SELECT * FROM a " + ("OUTER APPLY (SELECT * FROM b) " * 30))
|
||||
|
||||
def test_parse_properties(self):
|
||||
self.assertEqual(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue