Adding upstream version 25.24.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
cfe8a51f10
commit
a0663ae805
75 changed files with 43236 additions and 41203 deletions
|
@ -256,6 +256,7 @@ class TestDuckDB(Validator):
|
|||
parse_one("a // b", read="duckdb").assert_is(exp.IntDiv).sql(dialect="duckdb"), "a // b"
|
||||
)
|
||||
|
||||
self.validate_identity("CREATE TABLE tbl1 (u UNION(num INT, str TEXT))")
|
||||
self.validate_identity("INSERT INTO x BY NAME SELECT 1 AS y")
|
||||
self.validate_identity("SELECT 1 AS x UNION ALL BY NAME SELECT 2 AS x")
|
||||
self.validate_identity("SELECT SUM(x) FILTER (x = 1)", "SELECT SUM(x) FILTER(WHERE x = 1)")
|
||||
|
@ -294,6 +295,9 @@ class TestDuckDB(Validator):
|
|||
self.validate_identity("SUMMARIZE tbl").assert_is(exp.Summarize)
|
||||
self.validate_identity("SUMMARIZE SELECT * FROM tbl").assert_is(exp.Summarize)
|
||||
self.validate_identity("CREATE TABLE tbl_summary AS SELECT * FROM (SUMMARIZE tbl)")
|
||||
self.validate_identity("UNION_VALUE(k1 := 1)").find(exp.PropertyEQ).this.assert_is(
|
||||
exp.Identifier
|
||||
)
|
||||
self.validate_identity(
|
||||
"SELECT species, island, COUNT(*) FROM t GROUP BY GROUPING SETS (species), GROUPING SETS (island)"
|
||||
)
|
||||
|
@ -309,6 +313,13 @@ class TestDuckDB(Validator):
|
|||
self.validate_identity(
|
||||
"SELECT * FROM x LEFT JOIN UNNEST(y)", "SELECT * FROM x LEFT JOIN UNNEST(y) ON TRUE"
|
||||
)
|
||||
self.validate_identity(
|
||||
"""SELECT '{ "family": "anatidae", "species": [ "duck", "goose", "swan", null ] }' ->> ['$.family', '$.species']""",
|
||||
)
|
||||
self.validate_identity(
|
||||
"""SELECT JSON_EXTRACT_STRING('{ "family": "anatidae", "species": [ "duck", "goose", "swan", null ] }', ['$.family', '$.species'])""",
|
||||
"""SELECT '{ "family": "anatidae", "species": [ "duck", "goose", "swan", null ] }' ->> ['$.family', '$.species']""",
|
||||
)
|
||||
self.validate_identity(
|
||||
"SELECT col FROM t WHERE JSON_EXTRACT_STRING(col, '$.id') NOT IN ('b')",
|
||||
"SELECT col FROM t WHERE NOT (col ->> '$.id') IN ('b')",
|
||||
|
@ -524,8 +535,8 @@ class TestDuckDB(Validator):
|
|||
write={
|
||||
"duckdb": "STR_SPLIT(x, 'a')",
|
||||
"presto": "SPLIT(x, 'a')",
|
||||
"hive": "SPLIT(x, CONCAT('\\\\Q', 'a'))",
|
||||
"spark": "SPLIT(x, CONCAT('\\\\Q', 'a'))",
|
||||
"hive": "SPLIT(x, CONCAT('\\\\Q', 'a', '\\\\E'))",
|
||||
"spark": "SPLIT(x, CONCAT('\\\\Q', 'a', '\\\\E'))",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
|
@ -533,8 +544,8 @@ class TestDuckDB(Validator):
|
|||
write={
|
||||
"duckdb": "STR_SPLIT(x, 'a')",
|
||||
"presto": "SPLIT(x, 'a')",
|
||||
"hive": "SPLIT(x, CONCAT('\\\\Q', 'a'))",
|
||||
"spark": "SPLIT(x, CONCAT('\\\\Q', 'a'))",
|
||||
"hive": "SPLIT(x, CONCAT('\\\\Q', 'a', '\\\\E'))",
|
||||
"spark": "SPLIT(x, CONCAT('\\\\Q', 'a', '\\\\E'))",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
|
@ -835,6 +846,18 @@ class TestDuckDB(Validator):
|
|||
"SELECT id, STRUCT_PACK(*COLUMNS('m\\d')) AS measurements FROM many_measurements",
|
||||
"""SELECT id, {'_0': *COLUMNS('m\\d')} AS measurements FROM many_measurements""",
|
||||
)
|
||||
self.validate_identity("SELECT COLUMNS(c -> c LIKE '%num%') FROM numbers")
|
||||
self.validate_identity(
|
||||
"SELECT MIN(COLUMNS(* REPLACE (number + id AS number))), COUNT(COLUMNS(* EXCLUDE (number))) FROM numbers"
|
||||
)
|
||||
self.validate_identity("SELECT COLUMNS(*) + COLUMNS(*) FROM numbers")
|
||||
self.validate_identity("SELECT COLUMNS('(id|numbers?)') FROM numbers")
|
||||
self.validate_identity(
|
||||
"SELECT COALESCE(COLUMNS(['a', 'b', 'c'])) AS result FROM (SELECT NULL AS a, 42 AS b, TRUE AS c)"
|
||||
)
|
||||
self.validate_identity(
|
||||
"SELECT COALESCE(*COLUMNS(['a', 'b', 'c'])) AS result FROM (SELECT NULL AS a, 42 AS b, TRUE AS c)"
|
||||
)
|
||||
|
||||
def test_array_index(self):
|
||||
with self.assertLogs(helper_logger) as cm:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue