Merging upstream version 15.0.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
8deb804d23
commit
fc63828ee4
167 changed files with 58268 additions and 51337 deletions
|
@ -58,6 +58,7 @@ class TestExecutor(unittest.TestCase):
|
|||
|
||||
def test_py_dialect(self):
|
||||
self.assertEqual(Python().generate(parse_one("'x '''")), r"'x \''")
|
||||
self.assertEqual(Python().generate(parse_one("MAP([1], [2])")), "MAP([1], [2])")
|
||||
|
||||
def test_optimized_tpch(self):
|
||||
for i, (sql, optimized) in enumerate(self.sqls[:20], start=1):
|
||||
|
@ -566,6 +567,7 @@ class TestExecutor(unittest.TestCase):
|
|||
("IF(false, 1, 0)", 0),
|
||||
("CASE WHEN 0 = 1 THEN 'foo' ELSE 'bar' END", "bar"),
|
||||
("CAST('2022-01-01' AS DATE) + INTERVAL '1' DAY", date(2022, 1, 2)),
|
||||
("INTERVAL '1' week", datetime.timedelta(weeks=1)),
|
||||
("1 IN (1, 2, 3)", True),
|
||||
("1 IN (2, 3)", False),
|
||||
("NULL IS NULL", True),
|
||||
|
@ -592,6 +594,14 @@ class TestExecutor(unittest.TestCase):
|
|||
),
|
||||
("YEAR(CURRENT_DATE()) = (YEAR(CURRENT_DATE()))", True),
|
||||
("YEAR(CURRENT_DATE()) <> (YEAR(CURRENT_DATE()))", False),
|
||||
("1::bool", True),
|
||||
("0::bool", False),
|
||||
("MAP(['a'], [1]).a", 1),
|
||||
("MAP()", {}),
|
||||
("STRFTIME('%j', '2023-03-23 15:00:00')", "082"),
|
||||
("STRFTIME('%j', NULL)", None),
|
||||
("DATESTRTODATE('2022-01-01')", date(2022, 1, 1)),
|
||||
("TIMESTRTOTIME('2022-01-01')", datetime.datetime(2022, 1, 1)),
|
||||
]:
|
||||
with self.subTest(sql):
|
||||
result = execute(f"SELECT {sql}")
|
||||
|
@ -599,5 +609,27 @@ class TestExecutor(unittest.TestCase):
|
|||
|
||||
def test_case_sensitivity(self):
|
||||
result = execute("SELECT A AS A FROM X", tables={"x": [{"a": 1}]})
|
||||
self.assertEqual(result.columns, ("a",))
|
||||
self.assertEqual(result.rows, [(1,)])
|
||||
|
||||
result = execute('SELECT A AS "A" FROM X', tables={"x": [{"a": 1}]})
|
||||
self.assertEqual(result.columns, ("A",))
|
||||
self.assertEqual(result.rows, [(1,)])
|
||||
|
||||
def test_nested_table_reference(self):
|
||||
tables = {
|
||||
"some_catalog": {
|
||||
"some_schema": {
|
||||
"some_table": [
|
||||
{"id": 1, "price": 1.0},
|
||||
{"id": 2, "price": 2.0},
|
||||
{"id": 3, "price": 3.0},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result = execute("SELECT * FROM some_catalog.some_schema.some_table s", tables=tables)
|
||||
|
||||
self.assertEqual(result.columns, ("id", "price"))
|
||||
self.assertEqual(result.rows, [(1, 1.0), (2, 2.0), (3, 3.0)])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue