Merging upstream version 26.14.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
68f1150572
commit
e9f53ab285
84 changed files with 63872 additions and 61909 deletions
|
@ -1404,11 +1404,13 @@ LANGUAGE js AS
|
|||
)
|
||||
self.validate_all(
|
||||
"TO_JSON_STRING(x)",
|
||||
read={"bigquery": "TO_JSON_STRING(x)"},
|
||||
read={
|
||||
"bigquery": "TO_JSON_STRING(x)",
|
||||
},
|
||||
write={
|
||||
"bigquery": "TO_JSON_STRING(x)",
|
||||
"duckdb": "CAST(TO_JSON(x) AS TEXT)",
|
||||
"presto": "JSON_FORMAT(x)",
|
||||
"presto": "JSON_FORMAT(CAST(x AS JSON))",
|
||||
"spark": "TO_JSON(x)",
|
||||
},
|
||||
)
|
||||
|
@ -1486,7 +1488,7 @@ WHERE
|
|||
"snowflake": "SELECT LENGTH(foo)",
|
||||
},
|
||||
write={
|
||||
"duckdb": "SELECT CASE TYPEOF(foo) WHEN 'VARCHAR' THEN LENGTH(CAST(foo AS TEXT)) WHEN 'BLOB' THEN OCTET_LENGTH(CAST(foo AS BLOB)) END",
|
||||
"duckdb": "SELECT CASE TYPEOF(foo) WHEN 'BLOB' THEN OCTET_LENGTH(CAST(foo AS BLOB)) ELSE LENGTH(CAST(foo AS TEXT)) END",
|
||||
"snowflake": "SELECT LENGTH(foo)",
|
||||
"": "SELECT LENGTH(foo)",
|
||||
},
|
||||
|
@ -2382,3 +2384,43 @@ OPTIONS (
|
|||
|
||||
for select in annotated.selects:
|
||||
self.assertEqual(select.type.sql("bigquery"), "TIMESTAMP")
|
||||
|
||||
def test_set_operations(self):
|
||||
self.validate_identity("SELECT 1 AS foo INNER UNION ALL SELECT 3 AS foo, 4 AS bar")
|
||||
|
||||
for side in ("", " LEFT", " FULL"):
|
||||
for kind in ("", " OUTER"):
|
||||
for name in (
|
||||
"",
|
||||
" BY NAME",
|
||||
" BY NAME ON (foo, bar)",
|
||||
):
|
||||
with self.subTest(f"Testing {side} {kind} {name} in test_set_operations"):
|
||||
self.validate_identity(
|
||||
f"SELECT 1 AS foo{side}{kind} UNION ALL{name} SELECT 3 AS foo, 4 AS bar",
|
||||
)
|
||||
|
||||
self.validate_identity(
|
||||
"SELECT 1 AS x UNION ALL CORRESPONDING SELECT 2 AS x",
|
||||
"SELECT 1 AS x INNER UNION ALL BY NAME SELECT 2 AS x",
|
||||
)
|
||||
|
||||
self.validate_identity(
|
||||
"SELECT 1 AS x UNION ALL CORRESPONDING BY (foo, bar) SELECT 2 AS x",
|
||||
"SELECT 1 AS x INNER UNION ALL BY NAME ON (foo, bar) SELECT 2 AS x",
|
||||
)
|
||||
|
||||
self.validate_identity(
|
||||
"SELECT 1 AS x LEFT UNION ALL CORRESPONDING SELECT 2 AS x",
|
||||
"SELECT 1 AS x LEFT UNION ALL BY NAME SELECT 2 AS x",
|
||||
)
|
||||
|
||||
self.validate_identity(
|
||||
"SELECT 1 AS x UNION ALL STRICT CORRESPONDING SELECT 2 AS x",
|
||||
"SELECT 1 AS x UNION ALL BY NAME SELECT 2 AS x",
|
||||
)
|
||||
|
||||
self.validate_identity(
|
||||
"SELECT 1 AS x UNION ALL STRICT CORRESPONDING BY (foo, bar) SELECT 2 AS x",
|
||||
"SELECT 1 AS x UNION ALL BY NAME ON (foo, bar) SELECT 2 AS x",
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue