diff options
Diffstat (limited to 'sqlglot/dialects/clickhouse.py')
-rw-r--r-- | sqlglot/dialects/clickhouse.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sqlglot/dialects/clickhouse.py b/sqlglot/dialects/clickhouse.py index efaf34c..9126c4b 100644 --- a/sqlglot/dialects/clickhouse.py +++ b/sqlglot/dialects/clickhouse.py @@ -109,10 +109,11 @@ class ClickHouse(Dialect): QUERY_MODIFIER_PARSERS = { **parser.Parser.QUERY_MODIFIER_PARSERS, - "settings": lambda self: self._parse_csv(self._parse_conjunction) - if self._match(TokenType.SETTINGS) - else None, - "format": lambda self: self._parse_id_var() if self._match(TokenType.FORMAT) else None, + TokenType.SETTINGS: lambda self: ( + "settings", + self._advance() or self._parse_csv(self._parse_conjunction), + ), + TokenType.FORMAT: lambda self: ("format", self._advance() or self._parse_id_var()), } def _parse_conjunction(self) -> t.Optional[exp.Expression]: @@ -155,9 +156,12 @@ class ClickHouse(Dialect): return this def _parse_table( - self, schema: bool = False, alias_tokens: t.Optional[t.Collection[TokenType]] = None + self, + schema: bool = False, + joins: bool = False, + alias_tokens: t.Optional[t.Collection[TokenType]] = None, ) -> t.Optional[exp.Expression]: - this = super()._parse_table(schema=schema, alias_tokens=alias_tokens) + this = super()._parse_table(schema=schema, joins=joins, alias_tokens=alias_tokens) if self._match(TokenType.FINAL): this = self.expression(exp.Final, this=this) @@ -273,6 +277,7 @@ class ClickHouse(Dialect): return None class Generator(generator.Generator): + QUERY_HINTS = False STRUCT_DELIMITER = ("(", ")") TYPE_MAPPING = { |