summaryrefslogtreecommitdiffstats
path: root/sqlglot/dialects/clickhouse.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-07-06 07:28:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-07-06 07:28:12 +0000
commit374a0f6318bcf423b1b784d30b25a8327c65cb24 (patch)
tree9303a1cbdba85b5d9781ebef32eb1902d3790c99 /sqlglot/dialects/clickhouse.py
parentReleasing debian version 16.7.7-1. (diff)
downloadsqlglot-374a0f6318bcf423b1b784d30b25a8327c65cb24.tar.xz
sqlglot-374a0f6318bcf423b1b784d30b25a8327c65cb24.zip
Merging upstream version 17.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.py17
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 = {