Merging upstream version 26.6.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
12333df27e
commit
3532bfd564
99 changed files with 40433 additions and 38803 deletions
|
@ -73,6 +73,7 @@ class TestPostgres(Validator):
|
|||
self.validate_identity("SELECT * FROM r CROSS JOIN LATERAL UNNEST(ARRAY[1]) AS s(location)")
|
||||
self.validate_identity("CAST(1 AS DECIMAL) / CAST(2 AS DECIMAL) * -100")
|
||||
self.validate_identity("EXEC AS myfunc @id = 123", check_command_warning=True)
|
||||
self.validate_identity("SELECT CURRENT_SCHEMA")
|
||||
self.validate_identity("SELECT CURRENT_USER")
|
||||
self.validate_identity("SELECT * FROM ONLY t1")
|
||||
self.validate_identity(
|
||||
|
@ -144,10 +145,6 @@ class TestPostgres(Validator):
|
|||
"SELECT ARRAY[1, 2, 3] <@ ARRAY[1, 2]",
|
||||
"SELECT ARRAY[1, 2] @> ARRAY[1, 2, 3]",
|
||||
)
|
||||
self.validate_identity(
|
||||
"SELECT ARRAY[]::INT[] AS foo",
|
||||
"SELECT CAST(ARRAY[] AS INT[]) AS foo",
|
||||
)
|
||||
self.validate_identity(
|
||||
"SELECT DATE_PART('isodow'::varchar(6), current_date)",
|
||||
"SELECT EXTRACT(CAST('isodow' AS VARCHAR(6)) FROM CURRENT_DATE)",
|
||||
|
@ -349,6 +346,13 @@ class TestPostgres(Validator):
|
|||
"CAST(x AS BIGINT)",
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SELECT ARRAY[]::INT[] AS foo",
|
||||
write={
|
||||
"postgres": "SELECT CAST(ARRAY[] AS INT[]) AS foo",
|
||||
"duckdb": "SELECT CAST([] AS INT[]) AS foo",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"STRING_TO_ARRAY('xx~^~yy~^~zz', '~^~', 'yy')",
|
||||
read={
|
||||
|
@ -837,6 +841,30 @@ class TestPostgres(Validator):
|
|||
"SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY a) FILTER(WHERE CAST(b AS BOOLEAN)) AS mean_value FROM (VALUES (0, 't')) AS fake_data(a, b)"
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SELECT JSON_OBJECT_AGG(k, v) FROM t",
|
||||
write={
|
||||
"postgres": "SELECT JSON_OBJECT_AGG(k, v) FROM t",
|
||||
"duckdb": "SELECT JSON_GROUP_OBJECT(k, v) FROM t",
|
||||
},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SELECT JSONB_OBJECT_AGG(k, v) FROM t",
|
||||
write={
|
||||
"postgres": "SELECT JSONB_OBJECT_AGG(k, v) FROM t",
|
||||
"duckdb": "SELECT JSON_GROUP_OBJECT(k, v) FROM t",
|
||||
},
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SELECT DATE_BIN('30 days', timestamp_col, (SELECT MIN(TIMESTAMP) from table)) FROM table",
|
||||
write={
|
||||
"postgres": "SELECT DATE_BIN('30 days', timestamp_col, (SELECT MIN(TIMESTAMP) FROM table)) FROM table",
|
||||
"duckdb": 'SELECT TIME_BUCKET(\'30 days\', timestamp_col, (SELECT MIN(TIMESTAMP) FROM "table")) FROM "table"',
|
||||
},
|
||||
)
|
||||
|
||||
def test_ddl(self):
|
||||
# Checks that user-defined types are parsed into DataType instead of Identifier
|
||||
self.parse_one("CREATE TABLE t (a udt)").this.expressions[0].args["kind"].assert_is(
|
||||
|
@ -1060,7 +1088,8 @@ class TestPostgres(Validator):
|
|||
"duckdb": "CREATE TABLE x (a UUID, b BLOB)",
|
||||
"presto": "CREATE TABLE x (a UUID, b VARBINARY)",
|
||||
"hive": "CREATE TABLE x (a UUID, b BINARY)",
|
||||
"spark": "CREATE TABLE x (a UUID, b BINARY)",
|
||||
"spark": "CREATE TABLE x (a STRING, b BINARY)",
|
||||
"tsql": "CREATE TABLE x (a UNIQUEIDENTIFIER, b VARBINARY)",
|
||||
},
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue