Merging upstream version 26.8.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
d551ab0954
commit
010433ad9a
61 changed files with 43883 additions and 41898 deletions
|
@ -1427,18 +1427,10 @@ class TestSnowflake(Validator):
|
|||
"CREATE TABLE t (id INT TAG (key1='value_1', key2='value_2'))",
|
||||
)
|
||||
|
||||
self.validate_identity("USE SECONDARY ROLES ALL")
|
||||
self.validate_identity("USE SECONDARY ROLES NONE")
|
||||
self.validate_identity("USE SECONDARY ROLES a, b, c")
|
||||
self.validate_identity("CREATE SECURE VIEW table1 AS (SELECT a FROM table2)")
|
||||
self.validate_identity(
|
||||
"""create external table et2(
|
||||
col1 date as (parse_json(metadata$external_table_partition):COL1::date),
|
||||
col2 varchar as (parse_json(metadata$external_table_partition):COL2::varchar),
|
||||
col3 number as (parse_json(metadata$external_table_partition):COL3::number))
|
||||
partition by (col1,col2,col3)
|
||||
location=@s2/logs/
|
||||
partition_type = user_specified
|
||||
file_format = (type = parquet)""",
|
||||
"CREATE EXTERNAL TABLE et2 (col1 DATE AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL1') AS DATE)), col2 VARCHAR AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL2') AS VARCHAR)), col3 DECIMAL(38, 0) AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL3') AS DECIMAL(38, 0)))) LOCATION @s2/logs/ PARTITION BY (col1, col2, col3) partition_type=user_specified file_format=(type = parquet)",
|
||||
)
|
||||
self.validate_identity("CREATE OR REPLACE VIEW foo (uid) COPY GRANTS AS (SELECT 1)")
|
||||
self.validate_identity("CREATE TABLE geospatial_table (id INT, g GEOGRAPHY)")
|
||||
self.validate_identity("CREATE MATERIALIZED VIEW a COMMENT='...' AS SELECT 1 FROM x")
|
||||
|
@ -1504,6 +1496,17 @@ class TestSnowflake(Validator):
|
|||
"CREATE SEQUENCE seq1 WITH START=1 INCREMENT=1 ORDER",
|
||||
"CREATE SEQUENCE seq1 START=1 INCREMENT=1 ORDER",
|
||||
)
|
||||
self.validate_identity(
|
||||
"""create external table et2(
|
||||
col1 date as (parse_json(metadata$external_table_partition):COL1::date),
|
||||
col2 varchar as (parse_json(metadata$external_table_partition):COL2::varchar),
|
||||
col3 number as (parse_json(metadata$external_table_partition):COL3::number))
|
||||
partition by (col1,col2,col3)
|
||||
location=@s2/logs/
|
||||
partition_type = user_specified
|
||||
file_format = (type = parquet)""",
|
||||
"CREATE EXTERNAL TABLE et2 (col1 DATE AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL1') AS DATE)), col2 VARCHAR AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL2') AS VARCHAR)), col3 DECIMAL(38, 0) AS (CAST(GET_PATH(PARSE_JSON(metadata$external_table_partition), 'COL3') AS DECIMAL(38, 0)))) LOCATION @s2/logs/ PARTITION BY (col1, col2, col3) partition_type=user_specified file_format=(type = parquet)",
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"CREATE TABLE orders_clone CLONE orders",
|
||||
|
@ -2062,6 +2065,40 @@ MATCH_RECOGNIZE (
|
|||
self.validate_identity("SHOW TERSE USERS")
|
||||
self.validate_identity("SHOW USERS LIKE '_foo%' STARTS WITH 'bar' LIMIT 5 FROM 'baz'")
|
||||
|
||||
def test_show_databases(self):
|
||||
self.validate_identity("SHOW TERSE DATABASES")
|
||||
self.validate_identity(
|
||||
"SHOW TERSE DATABASES HISTORY LIKE 'foo' STARTS WITH 'bla' LIMIT 5 FROM 'bob' WITH PRIVILEGES USAGE, MODIFY"
|
||||
)
|
||||
|
||||
ast = parse_one("SHOW DATABASES IN ACCOUNT", read="snowflake")
|
||||
self.assertEqual(ast.this, "DATABASES")
|
||||
self.assertEqual(ast.args.get("scope_kind"), "ACCOUNT")
|
||||
|
||||
def test_show_functions(self):
|
||||
self.validate_identity("SHOW FUNCTIONS")
|
||||
self.validate_identity("SHOW FUNCTIONS LIKE 'foo' IN CLASS bla")
|
||||
|
||||
ast = parse_one("SHOW FUNCTIONS IN ACCOUNT", read="snowflake")
|
||||
self.assertEqual(ast.this, "FUNCTIONS")
|
||||
self.assertEqual(ast.args.get("scope_kind"), "ACCOUNT")
|
||||
|
||||
def test_show_procedures(self):
|
||||
self.validate_identity("SHOW PROCEDURES")
|
||||
self.validate_identity("SHOW PROCEDURES LIKE 'foo' IN APPLICATION app")
|
||||
self.validate_identity("SHOW PROCEDURES LIKE 'foo' IN APPLICATION PACKAGE pkg")
|
||||
|
||||
ast = parse_one("SHOW PROCEDURES IN ACCOUNT", read="snowflake")
|
||||
self.assertEqual(ast.this, "PROCEDURES")
|
||||
self.assertEqual(ast.args.get("scope_kind"), "ACCOUNT")
|
||||
|
||||
def test_show_warehouses(self):
|
||||
self.validate_identity("SHOW WAREHOUSES")
|
||||
self.validate_identity("SHOW WAREHOUSES LIKE 'foo' WITH PRIVILEGES USAGE, MODIFY")
|
||||
|
||||
ast = parse_one("SHOW WAREHOUSES", read="snowflake")
|
||||
self.assertEqual(ast.this, "WAREHOUSES")
|
||||
|
||||
def test_show_schemas(self):
|
||||
self.validate_identity(
|
||||
"show terse schemas in database db1 starts with 'a' limit 10 from 'b'",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue