Merging upstream version 25.29.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
de8c8a17d0
commit
1e53504dfc
97 changed files with 64720 additions and 61752 deletions
|
@ -637,6 +637,7 @@ class Dialect(metaclass=_Dialect):
|
|||
exp.Initcap,
|
||||
exp.Lower,
|
||||
exp.Substring,
|
||||
exp.String,
|
||||
exp.TimeToStr,
|
||||
exp.TimeToTimeStr,
|
||||
exp.Trim,
|
||||
|
@ -1016,10 +1017,10 @@ def no_recursive_cte_sql(self: Generator, expression: exp.With) -> str:
|
|||
return self.with_sql(expression)
|
||||
|
||||
|
||||
def no_safe_divide_sql(self: Generator, expression: exp.SafeDivide) -> str:
|
||||
def no_safe_divide_sql(self: Generator, expression: exp.SafeDivide, if_sql: str = "IF") -> str:
|
||||
n = self.sql(expression, "this")
|
||||
d = self.sql(expression, "expression")
|
||||
return f"IF(({d}) <> 0, ({n}) / ({d}), NULL)"
|
||||
return f"{if_sql}(({d}) <> 0, ({n}) / ({d}), NULL)"
|
||||
|
||||
|
||||
def no_tablesample_sql(self: Generator, expression: exp.TableSample) -> str:
|
||||
|
@ -1697,6 +1698,7 @@ def build_regexp_extract(args: t.List, dialect: Dialect) -> exp.RegexpExtract:
|
|||
this=seq_get(args, 0),
|
||||
expression=seq_get(args, 1),
|
||||
group=seq_get(args, 2) or exp.Literal.number(dialect.REGEXP_EXTRACT_DEFAULT_GROUP),
|
||||
parameters=seq_get(args, 3),
|
||||
)
|
||||
|
||||
|
||||
|
@ -1713,3 +1715,7 @@ def explode_to_unnest_sql(self: Generator, expression: exp.Lateral) -> str:
|
|||
)
|
||||
)
|
||||
return self.lateral_sql(expression)
|
||||
|
||||
|
||||
def timestampdiff_sql(self: Generator, expression: exp.DatetimeDiff | exp.TimestampDiff) -> str:
|
||||
return self.func("TIMESTAMPDIFF", expression.unit, expression.expression, expression.this)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue