Adding upstream version 25.5.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
147b6e06e8
commit
4e506fbac7
136 changed files with 80990 additions and 72541 deletions
|
@ -103,6 +103,7 @@ LANGUAGE js AS
|
|||
select_with_quoted_udf = self.validate_identity("SELECT `p.d.UdF`(data) FROM `p.d.t`")
|
||||
self.assertEqual(select_with_quoted_udf.selects[0].name, "p.d.UdF")
|
||||
|
||||
self.validate_identity("CAST(x AS STRUCT<list ARRAY<INT64>>)")
|
||||
self.validate_identity("assert.true(1 = 1)")
|
||||
self.validate_identity("SELECT ARRAY_TO_STRING(list, '--') AS text")
|
||||
self.validate_identity("SELECT jsondoc['some_key']")
|
||||
|
@ -293,6 +294,20 @@ LANGUAGE js AS
|
|||
r"REGEXP_EXTRACT(svc_plugin_output, '\\\\\\((.*)')",
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SAFE_CAST(some_date AS DATE FORMAT 'DD MONTH YYYY')",
|
||||
write={
|
||||
"bigquery": "SAFE_CAST(some_date AS DATE FORMAT 'DD MONTH YYYY')",
|
||||
"duckdb": "CAST(TRY_STRPTIME(some_date, '%d %B %Y') AS DATE)",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SAFE_CAST(some_date AS DATE FORMAT 'YYYY-MM-DD') AS some_date",
|
||||
write={
|
||||
"bigquery": "SAFE_CAST(some_date AS DATE FORMAT 'YYYY-MM-DD') AS some_date",
|
||||
"duckdb": "CAST(TRY_STRPTIME(some_date, '%Y-%m-%d') AS DATE) AS some_date",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT t.c1, h.c2, s.c3 FROM t1 AS t, UNNEST(t.t2) AS h, UNNEST(h.t3) AS s",
|
||||
write={
|
||||
|
@ -1345,6 +1360,46 @@ WHERE
|
|||
"bigquery": "SELECT CAST(x AS DATETIME)",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT TIME(foo, 'America/Los_Angeles')",
|
||||
write={
|
||||
"duckdb": "SELECT CAST(CAST(foo AS TIMESTAMPTZ) AT TIME ZONE 'America/Los_Angeles' AS TIME)",
|
||||
"bigquery": "SELECT TIME(foo, 'America/Los_Angeles')",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT DATETIME('2020-01-01')",
|
||||
write={
|
||||
"duckdb": "SELECT CAST('2020-01-01' AS TIMESTAMP)",
|
||||
"bigquery": "SELECT DATETIME('2020-01-01')",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT DATETIME('2020-01-01', TIME '23:59:59')",
|
||||
write={
|
||||
"duckdb": "SELECT CAST(CAST('2020-01-01' AS DATE) + CAST('23:59:59' AS TIME) AS TIMESTAMP)",
|
||||
"bigquery": "SELECT DATETIME('2020-01-01', CAST('23:59:59' AS TIME))",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT DATETIME('2020-01-01', 'America/Los_Angeles')",
|
||||
write={
|
||||
"duckdb": "SELECT CAST(CAST('2020-01-01' AS TIMESTAMPTZ) AT TIME ZONE 'America/Los_Angeles' AS TIMESTAMP)",
|
||||
"bigquery": "SELECT DATETIME('2020-01-01', 'America/Los_Angeles')",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT LENGTH(foo)",
|
||||
read={
|
||||
"bigquery": "SELECT LENGTH(foo)",
|
||||
"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",
|
||||
"snowflake": "SELECT LENGTH(foo)",
|
||||
"": "SELECT LENGTH(foo)",
|
||||
},
|
||||
)
|
||||
|
||||
def test_errors(self):
|
||||
with self.assertRaises(TokenError):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue