Merging upstream version 16.4.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
2426bb8908
commit
2e72f978c2
79 changed files with 72289 additions and 29264 deletions
|
@ -5,6 +5,7 @@ class TestDatabricks(Validator):
|
|||
dialect = "databricks"
|
||||
|
||||
def test_databricks(self):
|
||||
self.validate_identity("INSERT INTO a REPLACE WHERE cond VALUES (1), (2)")
|
||||
self.validate_identity("SELECT c1 : price")
|
||||
self.validate_identity("CREATE FUNCTION a.b(x INT) RETURNS INT RETURN x + 1")
|
||||
self.validate_identity("CREATE FUNCTION a AS b")
|
||||
|
|
|
@ -23,19 +23,20 @@ class TestSnowflake(Validator):
|
|||
self.validate_identity("CREATE TABLE foo (bar FLOAT AUTOINCREMENT START 0 INCREMENT 1)")
|
||||
self.validate_identity("ALTER TABLE IF EXISTS foo SET TAG a = 'a', b = 'b', c = 'c'")
|
||||
self.validate_identity("ALTER TABLE foo UNSET TAG a, b, c")
|
||||
self.validate_identity("COMMENT IF EXISTS ON TABLE foo IS 'bar'")
|
||||
self.validate_identity("SELECT CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', col)")
|
||||
self.validate_identity(
|
||||
'COPY INTO NEW_TABLE ("foo", "bar") FROM (SELECT $1, $2, $3, $4 FROM @%old_table)'
|
||||
)
|
||||
self.validate_identity("COMMENT IF EXISTS ON TABLE foo IS 'bar'")
|
||||
self.validate_identity("SELECT CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', col)")
|
||||
|
||||
self.validate_all("CAST(x AS BYTEINT)", write={"snowflake": "CAST(x AS INT)"})
|
||||
self.validate_all("CAST(x AS CHAR VARYING)", write={"snowflake": "CAST(x AS VARCHAR)"})
|
||||
self.validate_all("CAST(x AS CHARACTER VARYING)", write={"snowflake": "CAST(x AS VARCHAR)"})
|
||||
self.validate_all("CAST(x AS NCHAR VARYING)", write={"snowflake": "CAST(x AS VARCHAR)"})
|
||||
self.validate_all(
|
||||
"SELECT * FROM (VALUES (0) foo(bar))",
|
||||
write={"snowflake": "SELECT * FROM (VALUES (0)) AS foo(bar)"},
|
||||
)
|
||||
self.validate_all("CAST(x AS CHARACTER VARYING)", write={"snowflake": "CAST(x AS VARCHAR)"})
|
||||
self.validate_all("CAST(x AS NCHAR VARYING)", write={"snowflake": "CAST(x AS VARCHAR)"})
|
||||
self.validate_all(
|
||||
"OBJECT_CONSTRUCT(a, b, c, d)",
|
||||
read={
|
||||
|
|
15
tests/fixtures/pretty.sql
vendored
15
tests/fixtures/pretty.sql
vendored
|
@ -178,10 +178,23 @@ FROM (
|
|||
) AS x;
|
||||
|
||||
INSERT OVERWRITE TABLE x VALUES (1, 2.0, '3.0'), (4, 5.0, '6.0');
|
||||
INSERT OVERWRITE TABLE x VALUES
|
||||
INSERT OVERWRITE TABLE x
|
||||
VALUES
|
||||
(1, 2.0, '3.0'),
|
||||
(4, 5.0, '6.0');
|
||||
|
||||
INSERT INTO TABLE foo REPLACE WHERE cond SELECT * FROM bar;
|
||||
INSERT INTO foo
|
||||
REPLACE WHERE cond
|
||||
SELECT
|
||||
*
|
||||
FROM bar;
|
||||
|
||||
INSERT OVERWRITE TABLE zipcodes PARTITION(state = '0') VALUES (896, 'US', 'TAMPA', 33607);
|
||||
INSERT OVERWRITE TABLE zipcodes PARTITION(state = '0')
|
||||
VALUES
|
||||
(896, 'US', 'TAMPA', 33607);
|
||||
|
||||
WITH regional_sales AS (
|
||||
SELECT region, SUM(amount) AS total_sales
|
||||
FROM orders
|
||||
|
|
|
@ -580,6 +580,7 @@ class TestExecutor(unittest.TestCase):
|
|||
("INTERVAL '1' week", datetime.timedelta(weeks=1)),
|
||||
("1 IN (1, 2, 3)", True),
|
||||
("1 IN (2, 3)", False),
|
||||
("1 IN (1)", True),
|
||||
("NULL IS NULL", True),
|
||||
("NULL IS NOT NULL", False),
|
||||
("NULL = NULL", None),
|
||||
|
@ -612,6 +613,8 @@ class TestExecutor(unittest.TestCase):
|
|||
("STRFTIME('%j', NULL)", None),
|
||||
("DATESTRTODATE('2022-01-01')", date(2022, 1, 1)),
|
||||
("TIMESTRTOTIME('2022-01-01')", datetime.datetime(2022, 1, 1)),
|
||||
("LEFT('12345', 3)", "123"),
|
||||
("RIGHT('12345', 3)", "345"),
|
||||
]:
|
||||
with self.subTest(sql):
|
||||
result = execute(f"SELECT {sql}")
|
||||
|
|
|
@ -179,6 +179,10 @@ class TestExpressions(unittest.TestCase):
|
|||
self.assertEqual(exp.table_name(parse_one("a.b", into=exp.Table)), "a.b")
|
||||
self.assertEqual(exp.table_name(parse_one("a.b.c", into=exp.Table)), "a.b.c")
|
||||
self.assertEqual(exp.table_name("a.b.c"), "a.b.c")
|
||||
self.assertEqual(
|
||||
exp.table_name(parse_one("foo.`{bar,er}`", read="databricks"), dialect="databricks"),
|
||||
"foo.`{bar,er}`",
|
||||
)
|
||||
|
||||
def test_table(self):
|
||||
self.assertEqual(exp.table_("a", alias="b"), parse_one("select * from a b").find(exp.Table))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue