Adding upstream version 25.7.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
f9dae8e951
commit
8356f462bb
102 changed files with 52995 additions and 52070 deletions
|
@ -504,43 +504,6 @@ class Snowflake(Dialect):
|
|||
|
||||
return lateral
|
||||
|
||||
def _parse_historical_data(self) -> t.Optional[exp.HistoricalData]:
|
||||
# https://docs.snowflake.com/en/sql-reference/constructs/at-before
|
||||
index = self._index
|
||||
historical_data = None
|
||||
if self._match_texts(self.HISTORICAL_DATA_PREFIX):
|
||||
this = self._prev.text.upper()
|
||||
kind = (
|
||||
self._match(TokenType.L_PAREN)
|
||||
and self._match_texts(self.HISTORICAL_DATA_KIND)
|
||||
and self._prev.text.upper()
|
||||
)
|
||||
expression = self._match(TokenType.FARROW) and self._parse_bitwise()
|
||||
|
||||
if expression:
|
||||
self._match_r_paren()
|
||||
historical_data = self.expression(
|
||||
exp.HistoricalData, this=this, kind=kind, expression=expression
|
||||
)
|
||||
else:
|
||||
self._retreat(index)
|
||||
|
||||
return historical_data
|
||||
|
||||
def _parse_changes(self) -> t.Optional[exp.Changes]:
|
||||
if not self._match_text_seq("CHANGES", "(", "INFORMATION", "=>"):
|
||||
return None
|
||||
|
||||
information = self._parse_var(any_token=True)
|
||||
self._match_r_paren()
|
||||
|
||||
return self.expression(
|
||||
exp.Changes,
|
||||
information=information,
|
||||
at_before=self._parse_historical_data(),
|
||||
end=self._parse_historical_data(),
|
||||
)
|
||||
|
||||
def _parse_table_parts(
|
||||
self, schema: bool = False, is_db_reference: bool = False, wildcard: bool = False
|
||||
) -> exp.Table:
|
||||
|
@ -573,14 +536,6 @@ class Snowflake(Dialect):
|
|||
else:
|
||||
table = super()._parse_table_parts(schema=schema, is_db_reference=is_db_reference)
|
||||
|
||||
changes = self._parse_changes()
|
||||
if changes:
|
||||
table.set("changes", changes)
|
||||
|
||||
at_before = self._parse_historical_data()
|
||||
if at_before:
|
||||
table.set("when", at_before)
|
||||
|
||||
return table
|
||||
|
||||
def _parse_id_var(
|
||||
|
@ -659,7 +614,7 @@ class Snowflake(Dialect):
|
|||
# can be joined in a query with a comma separator, as well as closing paren
|
||||
# in case of subqueries
|
||||
while self._is_connected() and not self._match_set(
|
||||
(TokenType.COMMA, TokenType.R_PAREN), advance=False
|
||||
(TokenType.COMMA, TokenType.L_PAREN, TokenType.R_PAREN), advance=False
|
||||
):
|
||||
parts.append(self._advance_any(ignore_reserved=True))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue