From 11128a9a4475c0d04ee1e179028d40624297357b Mon Sep 17 00:00:00 2001 From: Arnold Huete Date: Sat, 1 Feb 2025 21:06:16 -0500 Subject: [PATCH] fix(bigquery): improve WITH CONNECTION parsing logic --- sqlglot/dialects/bigquery.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sqlglot/dialects/bigquery.py b/sqlglot/dialects/bigquery.py index d42d5d47b7..2ae35239d1 100644 --- a/sqlglot/dialects/bigquery.py +++ b/sqlglot/dialects/bigquery.py @@ -845,7 +845,19 @@ def _parse_export_data(self) -> exp.Export: options = None if self._match_text_seq("WITH", "CONNECTION"): - with_connection = self._parse_table_parts() + parts = [] + while True: + part = self._parse_var() + if not part: + break + parts.append(part.name) + if not self._match(TokenType.DOT): + break + + if not parts: + self.raise_error("Expected connection name after WITH CONNECTION") + + with_connection = exp.Identifier(this=".".join(parts)) if self._match_text_seq("OPTIONS"): self._match(TokenType.L_PAREN)