Merging upstream version 26.12.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
d24d19e9ea
commit
69b6dd9501
70 changed files with 1134 additions and 340 deletions
|
@ -394,7 +394,7 @@ class TestSnowflake(Validator):
|
|||
"""SELECT PARSE_JSON('{"fruit":"banana"}'):fruit""",
|
||||
write={
|
||||
"bigquery": """SELECT JSON_EXTRACT(PARSE_JSON('{"fruit":"banana"}'), '$.fruit')""",
|
||||
"databricks": """SELECT '{"fruit":"banana"}':fruit""",
|
||||
"databricks": """SELECT PARSE_JSON('{"fruit":"banana"}'):fruit""",
|
||||
"duckdb": """SELECT JSON('{"fruit":"banana"}') -> '$.fruit'""",
|
||||
"mysql": """SELECT JSON_EXTRACT('{"fruit":"banana"}', '$.fruit')""",
|
||||
"presto": """SELECT JSON_EXTRACT(JSON_PARSE('{"fruit":"banana"}'), '$.fruit')""",
|
||||
|
@ -1057,6 +1057,9 @@ class TestSnowflake(Validator):
|
|||
staged_file.sql(dialect="snowflake"),
|
||||
)
|
||||
|
||||
self.validate_identity('SELECT * FROM @"mystage"')
|
||||
self.validate_identity('SELECT * FROM @"myschema"."mystage"/file.gz')
|
||||
self.validate_identity('SELECT * FROM @"my_DB"."schEMA1".mystage/file.gz')
|
||||
self.validate_identity("SELECT metadata$filename FROM @s1/")
|
||||
self.validate_identity("SELECT * FROM @~")
|
||||
self.validate_identity("SELECT * FROM @~/some/path/to/file.csv")
|
||||
|
@ -1463,6 +1466,7 @@ class TestSnowflake(Validator):
|
|||
"CREATE TABLE t (id INT TAG (key1='value_1', key2='value_2'))",
|
||||
)
|
||||
|
||||
self.validate_identity("CREATE OR REPLACE TABLE foo COPY GRANTS USING TEMPLATE (SELECT 1)")
|
||||
self.validate_identity("USE SECONDARY ROLES ALL")
|
||||
self.validate_identity("USE SECONDARY ROLES NONE")
|
||||
self.validate_identity("USE SECONDARY ROLES a, b, c")
|
||||
|
@ -2386,11 +2390,14 @@ SINGLE = TRUE""",
|
|||
)
|
||||
|
||||
def test_put_to_stage(self):
|
||||
self.validate_identity('PUT \'file:///dir/tmp.csv\' @"my_DB"."schEMA1"."MYstage"')
|
||||
|
||||
# PUT with file path and stage ref containing spaces (wrapped in single quotes)
|
||||
ast = parse_one("PUT 'file://my file.txt' '@s1/my folder'", read="snowflake")
|
||||
self.assertIsInstance(ast, exp.Put)
|
||||
self.assertEqual(ast.this, exp.Literal(this="file://my file.txt", is_string=True))
|
||||
self.assertEqual(ast.args["target"], exp.Var(this="@s1/my folder"))
|
||||
self.assertEqual(ast.args["target"], exp.Var(this="'@s1/my folder'"))
|
||||
self.assertEqual(ast.sql("snowflake"), "PUT 'file://my file.txt' '@s1/my folder'")
|
||||
|
||||
# expression with additional properties
|
||||
ast = parse_one(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue