Adding upstream version 26.10.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
412e82cbc6
commit
5b8e67f8b8
66 changed files with 79349 additions and 76628 deletions
|
@ -588,6 +588,16 @@ class TestSnowflake(Validator):
|
|||
"teradata": "TO_CHAR(x, y)",
|
||||
},
|
||||
)
|
||||
self.validate_identity(
|
||||
"TO_CHAR(foo::DATE, 'yyyy')", "TO_CHAR(CAST(CAST(foo AS DATE) AS TIMESTAMP), 'yyyy')"
|
||||
)
|
||||
self.validate_all(
|
||||
"TO_CHAR(foo::TIMESTAMP, 'YYYY-MM')",
|
||||
write={
|
||||
"snowflake": "TO_CHAR(CAST(foo AS TIMESTAMP), 'yyyy-mm')",
|
||||
"duckdb": "STRFTIME(CAST(foo AS TIMESTAMP), '%Y-%m')",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"SQUARE(x)",
|
||||
write={
|
||||
|
@ -998,6 +1008,15 @@ class TestSnowflake(Validator):
|
|||
|
||||
self.validate_identity("CREATE TABLE t (id INT PRIMARY KEY AUTOINCREMENT)")
|
||||
|
||||
self.validate_all(
|
||||
"SELECT HEX_DECODE_BINARY('65')",
|
||||
write={
|
||||
"bigquery": "SELECT FROM_HEX('65')",
|
||||
"duckdb": "SELECT UNHEX('65')",
|
||||
"snowflake": "SELECT HEX_DECODE_BINARY('65')",
|
||||
},
|
||||
)
|
||||
|
||||
def test_null_treatment(self):
|
||||
self.validate_all(
|
||||
r"SELECT FIRST_VALUE(TABLE1.COLUMN1) OVER (PARTITION BY RANDOM_COLUMN1, RANDOM_COLUMN2 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS MY_ALIAS FROM TABLE1",
|
||||
|
@ -1608,44 +1627,21 @@ class TestSnowflake(Validator):
|
|||
"CREATE PROCEDURE a.b.c(x INT, y VARIANT) RETURNS OBJECT EXECUTE AS CALLER AS 'BEGIN SELECT 1; END;'"
|
||||
)
|
||||
|
||||
def test_table_literal(self):
|
||||
# All examples from https://docs.snowflake.com/en/sql-reference/literals-table.html
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE('MYTABLE')""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE('MYTABLE')"""},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')"""},
|
||||
)
|
||||
|
||||
# Per Snowflake documentation at https://docs.snowflake.com/en/sql-reference/literals-table.html
|
||||
# one can use either a " ' " or " $$ " to enclose the object identifier.
|
||||
# Capturing the single tokens seems like lot of work. Hence adjusting tests to use these interchangeably,
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE($$MYDB. "MYSCHEMA"."MYTABLE"$$)""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE('MYDB. "MYSCHEMA"."MYTABLE"')"""},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE($MYVAR)""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE($MYVAR)"""},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE(?)""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE(?)"""},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE(:BINDING)""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE(:BINDING)"""},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
r"""SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10""",
|
||||
write={"snowflake": r"""SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10"""},
|
||||
def test_table_function(self):
|
||||
self.validate_identity("SELECT * FROM TABLE('MYTABLE')")
|
||||
self.validate_identity("SELECT * FROM TABLE($MYVAR)")
|
||||
self.validate_identity("SELECT * FROM TABLE(?)")
|
||||
self.validate_identity("SELECT * FROM TABLE(:BINDING)")
|
||||
self.validate_identity("SELECT * FROM TABLE($MYVAR) WHERE COL1 = 10")
|
||||
self.validate_identity("SELECT * FROM TABLE('t1') AS f")
|
||||
self.validate_identity("SELECT * FROM (TABLE('t1') CROSS JOIN TABLE('t2'))")
|
||||
self.validate_identity("SELECT * FROM TABLE('t1'), LATERAL (SELECT * FROM t2)")
|
||||
self.validate_identity("SELECT * FROM TABLE('t1') UNION ALL SELECT * FROM TABLE('t2')")
|
||||
self.validate_identity("SELECT * FROM TABLE('t1') TABLESAMPLE BERNOULLI (20.3)")
|
||||
self.validate_identity("""SELECT * FROM TABLE('MYDB."MYSCHEMA"."MYTABLE"')""")
|
||||
self.validate_identity(
|
||||
'SELECT * FROM TABLE($$MYDB. "MYSCHEMA"."MYTABLE"$$)',
|
||||
"""SELECT * FROM TABLE('MYDB. "MYSCHEMA"."MYTABLE"')""",
|
||||
)
|
||||
|
||||
def test_flatten(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue