diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-03 14:11:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-03 14:11:07 +0000 |
commit | 42a1548cecf48d18233f56e3385cf9c89abcb9c2 (patch) | |
tree | 5e0fff4ecbd1fd7dd1022a7580139038df2a824c /sqlglot/dialects/clickhouse.py | |
parent | Releasing debian version 21.1.2-1. (diff) | |
download | sqlglot-42a1548cecf48d18233f56e3385cf9c89abcb9c2.tar.xz sqlglot-42a1548cecf48d18233f56e3385cf9c89abcb9c2.zip |
Merging upstream version 22.2.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/dialects/clickhouse.py')
-rw-r--r-- | sqlglot/dialects/clickhouse.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sqlglot/dialects/clickhouse.py b/sqlglot/dialects/clickhouse.py index 05d6a03..90167f6 100644 --- a/sqlglot/dialects/clickhouse.py +++ b/sqlglot/dialects/clickhouse.py @@ -68,7 +68,6 @@ class ClickHouse(Dialect): "DATE32": TokenType.DATE32, "DATETIME64": TokenType.DATETIME64, "DICTIONARY": TokenType.DICTIONARY, - "ENUM": TokenType.ENUM, "ENUM8": TokenType.ENUM8, "ENUM16": TokenType.ENUM16, "FINAL": TokenType.FINAL, @@ -93,6 +92,7 @@ class ClickHouse(Dialect): "AGGREGATEFUNCTION": TokenType.AGGREGATEFUNCTION, "SIMPLEAGGREGATEFUNCTION": TokenType.SIMPLEAGGREGATEFUNCTION, "SYSTEM": TokenType.COMMAND, + "PREWHERE": TokenType.PREWHERE, } SINGLE_TOKENS = { @@ -129,6 +129,7 @@ class ClickHouse(Dialect): "MAP": parser.build_var_map, "MATCH": exp.RegexpLike.from_arg_list, "RANDCANONICAL": exp.Rand.from_arg_list, + "TUPLE": exp.Struct.from_arg_list, "UNIQ": exp.ApproxDistinct.from_arg_list, "XOR": lambda args: exp.Xor(expressions=args), } @@ -390,7 +391,7 @@ class ClickHouse(Dialect): return self.expression( exp.CTE, - this=self._parse_field(), + this=self._parse_conjunction(), alias=self._parse_table_alias(), scalar=True, ) @@ -732,3 +733,7 @@ class ClickHouse(Dialect): return f"{this_name}{self.sep()}{this_properties}{self.sep()}{this_schema}" return super().createable_sql(expression, locations) + + def prewhere_sql(self, expression: exp.PreWhere) -> str: + this = self.indent(self.sql(expression, "this")) + return f"{self.seg('PREWHERE')}{self.sep()}{this}" |