1
0
Fork 0

Merging upstream version 11.5.2.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 15:50:57 +01:00
parent b9525af810
commit 9782c88c58
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
106 changed files with 25262 additions and 24200 deletions

View file

@ -194,30 +194,31 @@ class TestExpressions(unittest.TestCase):
def test_replace_placeholders(self):
self.assertEqual(
exp.replace_placeholders(
parse_one("select * from :tbl1 JOIN :tbl2 ON :col1 = :col2 WHERE :col3 > 100"),
tbl1="foo",
tbl2="bar",
col1="a",
col2="b",
col3="c",
parse_one("select * from :tbl1 JOIN :tbl2 ON :col1 = :str1 WHERE :col2 > :int1"),
tbl1=exp.to_identifier("foo"),
tbl2=exp.to_identifier("bar"),
col1=exp.to_identifier("a"),
col2=exp.to_identifier("c"),
str1="b",
int1=100,
).sql(),
"SELECT * FROM foo JOIN bar ON a = b WHERE c > 100",
"SELECT * FROM foo JOIN bar ON a = 'b' WHERE c > 100",
)
self.assertEqual(
exp.replace_placeholders(
parse_one("select * from ? JOIN ? ON ? = ? WHERE ? > 100"),
"foo",
"bar",
"a",
parse_one("select * from ? JOIN ? ON ? = ? WHERE ? = 'bla'"),
exp.to_identifier("foo"),
exp.to_identifier("bar"),
exp.to_identifier("a"),
"b",
"c",
"bla",
).sql(),
"SELECT * FROM foo JOIN bar ON a = b WHERE c > 100",
"SELECT * FROM foo JOIN bar ON a = 'b' WHERE 'bla' = 'bla'",
)
self.assertEqual(
exp.replace_placeholders(
parse_one("select * from ? WHERE ? > 100"),
"foo",
exp.to_identifier("foo"),
).sql(),
"SELECT * FROM foo WHERE ? > 100",
)
@ -229,12 +230,12 @@ class TestExpressions(unittest.TestCase):
)
self.assertEqual(
exp.replace_placeholders(
parse_one("select * from (SELECT :col1 FROM ?) WHERE :col2 > 100"),
"tbl1",
"tbl2",
parse_one("select * from (SELECT :col1 FROM ?) WHERE :col2 > ?"),
exp.to_identifier("tbl1"),
100,
"tbl3",
col1="a",
col2="b",
col1=exp.to_identifier("a"),
col2=exp.to_identifier("b"),
col3="c",
).sql(),
"SELECT * FROM (SELECT a FROM tbl1) WHERE b > 100",
@ -526,6 +527,7 @@ class TestExpressions(unittest.TestCase):
self.assertIsInstance(parse_one("VARIANCE(a)"), exp.Variance)
self.assertIsInstance(parse_one("VARIANCE_POP(a)"), exp.VariancePop)
self.assertIsInstance(parse_one("YEAR(a)"), exp.Year)
self.assertIsInstance(parse_one("HLL(a)"), exp.Hll)
def test_column(self):
column = parse_one("a.b.c.d")