Adding upstream version 26.3.8.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
7ee28625fb
commit
b80c44840a
89 changed files with 59179 additions and 57645 deletions
|
@ -22,8 +22,8 @@ from sqlglot.dialects.dialect import (
|
|||
timestrtotime_sql,
|
||||
var_map_sql,
|
||||
map_date_part,
|
||||
no_safe_divide_sql,
|
||||
no_timestamp_sql,
|
||||
strposition_sql,
|
||||
timestampdiff_sql,
|
||||
no_make_interval_sql,
|
||||
)
|
||||
|
@ -67,8 +67,9 @@ def _build_datetime(
|
|||
expr.set("safe", safe)
|
||||
return expr
|
||||
|
||||
if kind == exp.DataType.Type.DATE and not int_value:
|
||||
formatted_exp = build_formatted_time(exp.TsOrDsToDate, "snowflake")(args)
|
||||
if kind in (exp.DataType.Type.DATE, exp.DataType.Type.TIME) and not int_value:
|
||||
klass = exp.TsOrDsToDate if kind == exp.DataType.Type.DATE else exp.TsOrDsToTime
|
||||
formatted_exp = build_formatted_time(klass, "snowflake")(args)
|
||||
formatted_exp.set("safe", safe)
|
||||
return formatted_exp
|
||||
|
||||
|
@ -357,8 +358,6 @@ class Snowflake(Dialect):
|
|||
"mi": "%M",
|
||||
"SS": "%S",
|
||||
"ss": "%S",
|
||||
"FF": "%f",
|
||||
"ff": "%f",
|
||||
"FF6": "%f",
|
||||
"ff6": "%f",
|
||||
}
|
||||
|
@ -451,6 +450,7 @@ class Snowflake(Dialect):
|
|||
"TIMESTAMP_NTZ_FROM_PARTS": build_timestamp_from_parts,
|
||||
"TRY_PARSE_JSON": lambda args: exp.ParseJSON(this=seq_get(args, 0), safe=True),
|
||||
"TRY_TO_DATE": _build_datetime("TRY_TO_DATE", exp.DataType.Type.DATE, safe=True),
|
||||
"TRY_TO_TIME": _build_datetime("TRY_TO_TIME", exp.DataType.Type.TIME, safe=True),
|
||||
"TRY_TO_TIMESTAMP": _build_datetime(
|
||||
"TRY_TO_TIMESTAMP", exp.DataType.Type.TIMESTAMP, safe=True
|
||||
),
|
||||
|
@ -955,12 +955,11 @@ class Snowflake(Dialect):
|
|||
_transform_generate_date_array,
|
||||
]
|
||||
),
|
||||
exp.SafeDivide: lambda self, e: no_safe_divide_sql(self, e, "IFF"),
|
||||
exp.SHA: rename_func("SHA1"),
|
||||
exp.StarMap: rename_func("OBJECT_CONSTRUCT"),
|
||||
exp.StartsWith: rename_func("STARTSWITH"),
|
||||
exp.StrPosition: lambda self, e: self.func(
|
||||
"POSITION", e.args.get("substr"), e.this, e.args.get("position")
|
||||
exp.StrPosition: lambda self, e: strposition_sql(
|
||||
self, e, func_name="CHARINDEX", supports_position=True
|
||||
),
|
||||
exp.StrToDate: lambda self, e: self.func("DATE", e.this, self.format_time(e)),
|
||||
exp.Stuff: rename_func("INSERT"),
|
||||
|
@ -981,6 +980,9 @@ class Snowflake(Dialect):
|
|||
exp.TsOrDsToDate: lambda self, e: self.func(
|
||||
"TRY_TO_DATE" if e.args.get("safe") else "TO_DATE", e.this, self.format_time(e)
|
||||
),
|
||||
exp.TsOrDsToTime: lambda self, e: self.func(
|
||||
"TRY_TO_TIME" if e.args.get("safe") else "TO_TIME", e.this, self.format_time(e)
|
||||
),
|
||||
exp.UnixToTime: rename_func("TO_TIMESTAMP"),
|
||||
exp.Uuid: rename_func("UUID_STRING"),
|
||||
exp.VarMap: lambda self, e: var_map_sql(self, e, "OBJECT_CONSTRUCT"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue