Adding upstream version 21.0.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
07f4660f31
commit
91f2cef5f0
115 changed files with 66603 additions and 60920 deletions
|
@ -41,6 +41,7 @@ class TestDuckDB(Validator):
|
|||
)
|
||||
self.validate_identity("SELECT 1 WHERE x > $1")
|
||||
self.validate_identity("SELECT 1 WHERE x > $name")
|
||||
self.validate_identity("""SELECT '{"x": 1}' -> c FROM t""")
|
||||
|
||||
self.assertEqual(
|
||||
parse_one("select * from t limit (select 5)").sql(dialect="duckdb"),
|
||||
|
@ -89,18 +90,26 @@ class TestDuckDB(Validator):
|
|||
},
|
||||
)
|
||||
|
||||
self.validate_identity("""SELECT '{"duck": [1, 2, 3]}' -> '$.duck[#-1]'""")
|
||||
self.validate_all(
|
||||
"""SELECT JSON_EXTRACT('{"duck": [1, 2, 3]}', '/duck/0')""",
|
||||
write={
|
||||
"": """SELECT JSON_EXTRACT('{"duck": [1, 2, 3]}', '/duck/0')""",
|
||||
"duckdb": """SELECT '{"duck": [1, 2, 3]}' -> '/duck/0'""",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"""SELECT JSON('{"fruit":"banana"}') -> 'fruit'""",
|
||||
write={
|
||||
"duckdb": """SELECT JSON('{"fruit":"banana"}') -> 'fruit'""",
|
||||
"snowflake": """SELECT PARSE_JSON('{"fruit":"banana"}')['fruit']""",
|
||||
"duckdb": """SELECT JSON('{"fruit":"banana"}') -> '$.fruit'""",
|
||||
"snowflake": """SELECT GET_PATH(PARSE_JSON('{"fruit":"banana"}'), 'fruit')""",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"""SELECT JSON('{"fruit": {"foo": "banana"}}') -> 'fruit' -> 'foo'""",
|
||||
write={
|
||||
"duckdb": """SELECT JSON('{"fruit": {"foo": "banana"}}') -> 'fruit' -> 'foo'""",
|
||||
"snowflake": """SELECT PARSE_JSON('{"fruit": {"foo": "banana"}}')['fruit']['foo']""",
|
||||
"duckdb": """SELECT JSON('{"fruit": {"foo": "banana"}}') -> '$.fruit' -> '$.foo'""",
|
||||
"snowflake": """SELECT GET_PATH(GET_PATH(PARSE_JSON('{"fruit": {"foo": "banana"}}'), 'fruit'), 'foo')""",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
|
@ -199,6 +208,27 @@ class TestDuckDB(Validator):
|
|||
self.validate_identity("FROM x SELECT x UNION SELECT 1", "SELECT x FROM x UNION SELECT 1")
|
||||
self.validate_identity("FROM (FROM tbl)", "SELECT * FROM (SELECT * FROM tbl)")
|
||||
self.validate_identity("FROM tbl", "SELECT * FROM tbl")
|
||||
self.validate_identity("x -> '$.family'")
|
||||
self.validate_identity(
|
||||
"""SELECT '{"foo": [1, 2, 3]}' -> 'foo' -> 0""",
|
||||
"""SELECT '{"foo": [1, 2, 3]}' -> '$.foo' -> '$[0]'""",
|
||||
)
|
||||
self.validate_identity(
|
||||
"JSON_EXTRACT(x, '$.family')",
|
||||
"x -> '$.family'",
|
||||
)
|
||||
self.validate_identity(
|
||||
"JSON_EXTRACT_PATH(x, '$.family')",
|
||||
"x -> '$.family'",
|
||||
)
|
||||
self.validate_identity(
|
||||
"JSON_EXTRACT_STRING(x, '$.family')",
|
||||
"x ->> '$.family'",
|
||||
)
|
||||
self.validate_identity(
|
||||
"JSON_EXTRACT_PATH_TEXT(x, '$.family')",
|
||||
"x ->> '$.family'",
|
||||
)
|
||||
self.validate_identity(
|
||||
"ATTACH DATABASE ':memory:' AS new_database", check_command_warning=True
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue