Adding upstream version 20.1.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
6a89523da4
commit
5bd573dda1
127 changed files with 73384 additions and 73067 deletions
|
@ -48,8 +48,11 @@ def _unix_to_time_sql(self: Spark2.Generator, expression: exp.UnixToTime) -> str
|
|||
return f"TIMESTAMP_MILLIS({timestamp})"
|
||||
if scale == exp.UnixToTime.MICROS:
|
||||
return f"TIMESTAMP_MICROS({timestamp})"
|
||||
if scale == exp.UnixToTime.NANOS:
|
||||
return f"TIMESTAMP_SECONDS({timestamp} / 1000000000)"
|
||||
|
||||
raise ValueError("Improper scale for timestamp")
|
||||
self.unsupported(f"Unsupported scale for timestamp: {scale}.")
|
||||
return ""
|
||||
|
||||
|
||||
def _unalias_pivot(expression: exp.Expression) -> exp.Expression:
|
||||
|
@ -119,7 +122,11 @@ class Spark2(Hive):
|
|||
"DOUBLE": _parse_as_cast("double"),
|
||||
"FLOAT": _parse_as_cast("float"),
|
||||
"FROM_UTC_TIMESTAMP": lambda args: exp.AtTimeZone(
|
||||
this=exp.Cast(this=seq_get(args, 0), to=exp.DataType.build("timestamp")),
|
||||
this=exp.cast_unless(
|
||||
seq_get(args, 0) or exp.Var(this=""),
|
||||
exp.DataType.build("timestamp"),
|
||||
exp.DataType.build("timestamp"),
|
||||
),
|
||||
zone=seq_get(args, 1),
|
||||
),
|
||||
"IIF": exp.If.from_arg_list,
|
||||
|
@ -224,6 +231,19 @@ class Spark2(Hive):
|
|||
WRAP_DERIVED_VALUES = False
|
||||
CREATE_FUNCTION_RETURN_AS = False
|
||||
|
||||
def struct_sql(self, expression: exp.Struct) -> str:
|
||||
args = []
|
||||
for arg in expression.expressions:
|
||||
if isinstance(arg, self.KEY_VALUE_DEFINITONS):
|
||||
if isinstance(arg, exp.Bracket):
|
||||
args.append(exp.alias_(arg.this, arg.expressions[0].name))
|
||||
else:
|
||||
args.append(exp.alias_(arg.expression, arg.this.name))
|
||||
else:
|
||||
args.append(arg)
|
||||
|
||||
return self.func("STRUCT", *args)
|
||||
|
||||
def temporary_storage_provider(self, expression: exp.Create) -> exp.Create:
|
||||
# spark2, spark, Databricks require a storage provider for temporary tables
|
||||
provider = exp.FileFormatProperty(this=exp.Literal.string("parquet"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue