Merging upstream version 18.11.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
15b8b39545
commit
c37998973e
88 changed files with 52059 additions and 46960 deletions
|
@ -24,6 +24,9 @@ class TestClickhouse(Validator):
|
|||
self.assertEqual(expr.sql(dialect="clickhouse"), "COUNT(x)")
|
||||
self.assertIsNone(expr._meta)
|
||||
|
||||
self.validate_identity("SELECT * FROM (SELECT a FROM b SAMPLE 0.01)")
|
||||
self.validate_identity("SELECT * FROM (SELECT a FROM b SAMPLE 1 / 10 OFFSET 1 / 2)")
|
||||
self.validate_identity("SELECT sum(foo * bar) FROM bla SAMPLE 10000000")
|
||||
self.validate_identity("CAST(x AS Nested(ID UInt32, Serial UInt32, EventTime DATETIME))")
|
||||
self.validate_identity("CAST(x AS Enum('hello' = 1, 'world' = 2))")
|
||||
self.validate_identity("CAST(x AS Enum('hello', 'world'))")
|
||||
|
@ -82,6 +85,16 @@ class TestClickhouse(Validator):
|
|||
"CREATE MATERIALIZED VIEW test_view (id UInt8) TO db.table1 AS SELECT * FROM test_data"
|
||||
)
|
||||
|
||||
self.validate_all(
|
||||
"SELECT '\\0'",
|
||||
read={
|
||||
"mysql": "SELECT '\0'",
|
||||
},
|
||||
write={
|
||||
"clickhouse": "SELECT '\\0'",
|
||||
"mysql": "SELECT '\0'",
|
||||
},
|
||||
)
|
||||
self.validate_all(
|
||||
"DATE_ADD('day', 1, x)",
|
||||
read={
|
||||
|
@ -224,6 +237,33 @@ class TestClickhouse(Validator):
|
|||
self.validate_identity(
|
||||
"SELECT s, arr_external FROM arrays_test ARRAY JOIN [1, 2, 3] AS arr_external"
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT quantile(0.5)(a)",
|
||||
read={"duckdb": "SELECT quantile(a, 0.5)"},
|
||||
write={"clickhouse": "SELECT quantile(0.5)(a)"},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT quantiles(0.5, 0.4)(a)",
|
||||
read={"duckdb": "SELECT quantile(a, [0.5, 0.4])"},
|
||||
write={"clickhouse": "SELECT quantiles(0.5, 0.4)(a)"},
|
||||
)
|
||||
self.validate_all(
|
||||
"SELECT quantiles(0.5)(a)",
|
||||
read={"duckdb": "SELECT quantile(a, [0.5])"},
|
||||
write={"clickhouse": "SELECT quantiles(0.5)(a)"},
|
||||
)
|
||||
|
||||
self.validate_identity("SELECT isNaN(x)")
|
||||
self.validate_all(
|
||||
"SELECT IS_NAN(x), ISNAN(x)",
|
||||
write={"clickhouse": "SELECT isNaN(x), isNaN(x)"},
|
||||
)
|
||||
|
||||
self.validate_identity("SELECT startsWith('a', 'b')")
|
||||
self.validate_all(
|
||||
"SELECT STARTS_WITH('a', 'b'), STARTSWITH('a', 'b')",
|
||||
write={"clickhouse": "SELECT startsWith('a', 'b'), startsWith('a', 'b')"},
|
||||
)
|
||||
|
||||
def test_cte(self):
|
||||
self.validate_identity("WITH 'x' AS foo SELECT foo")
|
||||
|
@ -304,6 +344,9 @@ class TestClickhouse(Validator):
|
|||
)
|
||||
|
||||
def test_ddl(self):
|
||||
self.validate_identity(
|
||||
'CREATE TABLE data5 ("x" UInt32, "y" UInt32) ENGINE=MergeTree ORDER BY (round(y / 1000000000), cityHash64(x)) SAMPLE BY cityHash64(x)'
|
||||
)
|
||||
self.validate_identity(
|
||||
"CREATE TABLE foo (x UInt32) TTL time_column + INTERVAL '1' MONTH DELETE WHERE column = 'value'"
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue