Merging upstream version 25.16.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
7688e2bdf8
commit
bad79d1f7c
110 changed files with 75353 additions and 68092 deletions
|
@ -302,6 +302,9 @@ class MySQL(Dialect):
|
|||
|
||||
FUNCTIONS = {
|
||||
**parser.Parser.FUNCTIONS,
|
||||
"CONVERT_TZ": lambda args: exp.ConvertTimezone(
|
||||
source_tz=seq_get(args, 1), target_tz=seq_get(args, 2), timestamp=seq_get(args, 0)
|
||||
),
|
||||
"DATE": lambda args: exp.TsOrDsToDate(this=seq_get(args, 0)),
|
||||
"DATE_ADD": build_date_delta_with_interval(exp.DateAdd),
|
||||
"DATE_FORMAT": build_formatted_time(exp.TimeToStr, "mysql"),
|
||||
|
@ -724,6 +727,7 @@ class MySQL(Dialect):
|
|||
transforms.eliminate_semi_and_anti_joins,
|
||||
transforms.eliminate_qualify,
|
||||
transforms.eliminate_full_outer_join,
|
||||
transforms.unnest_generate_date_array_using_recursive_cte,
|
||||
]
|
||||
),
|
||||
exp.StrPosition: strposition_to_locate_sql,
|
||||
|
@ -1213,3 +1217,10 @@ class MySQL(Dialect):
|
|||
dateadd = build_date_delta_with_interval(exp.DateAdd)([start_ts, interval])
|
||||
|
||||
return self.sql(dateadd)
|
||||
|
||||
def converttimezone_sql(self, expression: exp.ConvertTimezone) -> str:
|
||||
from_tz = expression.args.get("source_tz")
|
||||
to_tz = expression.args.get("target_tz")
|
||||
dt = expression.args.get("timestamp")
|
||||
|
||||
return self.func("CONVERT_TZ", dt, from_tz, to_tz)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue