Adding upstream version 26.0.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
2ebe732d69
commit
522374f608
57 changed files with 26226 additions and 25977 deletions
|
@ -453,6 +453,7 @@ class Generator(metaclass=_Generator):
|
|||
ARRAY_SIZE_DIM_REQUIRED: t.Optional[bool] = None
|
||||
|
||||
TYPE_MAPPING = {
|
||||
exp.DataType.Type.DATETIME2: "TIMESTAMP",
|
||||
exp.DataType.Type.NCHAR: "CHAR",
|
||||
exp.DataType.Type.NVARCHAR: "VARCHAR",
|
||||
exp.DataType.Type.MEDIUMTEXT: "TEXT",
|
||||
|
@ -463,6 +464,7 @@ class Generator(metaclass=_Generator):
|
|||
exp.DataType.Type.TINYBLOB: "BLOB",
|
||||
exp.DataType.Type.INET: "INET",
|
||||
exp.DataType.Type.ROWVERSION: "VARBINARY",
|
||||
exp.DataType.Type.SMALLDATETIME: "TIMESTAMP",
|
||||
}
|
||||
|
||||
TIME_PART_SINGULARS = {
|
||||
|
@ -2829,13 +2831,14 @@ class Generator(metaclass=_Generator):
|
|||
|
||||
def foreignkey_sql(self, expression: exp.ForeignKey) -> str:
|
||||
expressions = self.expressions(expression, flat=True)
|
||||
expressions = f" ({expressions})" if expressions else ""
|
||||
reference = self.sql(expression, "reference")
|
||||
reference = f" {reference}" if reference else ""
|
||||
delete = self.sql(expression, "delete")
|
||||
delete = f" ON DELETE {delete}" if delete else ""
|
||||
update = self.sql(expression, "update")
|
||||
update = f" ON UPDATE {update}" if update else ""
|
||||
return f"FOREIGN KEY ({expressions}){reference}{delete}{update}"
|
||||
return f"FOREIGN KEY{expressions}{reference}{delete}{update}"
|
||||
|
||||
def primarykey_sql(self, expression: exp.ForeignKey) -> str:
|
||||
expressions = self.expressions(expression, flat=True)
|
||||
|
@ -3693,6 +3696,9 @@ class Generator(metaclass=_Generator):
|
|||
then = self.sql(then_expression)
|
||||
return f"WHEN {matched}{source}{condition} THEN {then}"
|
||||
|
||||
def whens_sql(self, expression: exp.Whens) -> str:
|
||||
return self.expressions(expression, sep=" ", indent=False)
|
||||
|
||||
def merge_sql(self, expression: exp.Merge) -> str:
|
||||
table = expression.this
|
||||
table_alias = ""
|
||||
|
@ -3705,16 +3711,17 @@ class Generator(metaclass=_Generator):
|
|||
this = self.sql(table)
|
||||
using = f"USING {self.sql(expression, 'using')}"
|
||||
on = f"ON {self.sql(expression, 'on')}"
|
||||
expressions = self.expressions(expression, sep=" ", indent=False)
|
||||
whens = self.sql(expression, "whens")
|
||||
|
||||
returning = self.sql(expression, "returning")
|
||||
if returning:
|
||||
expressions = f"{expressions}{returning}"
|
||||
whens = f"{whens}{returning}"
|
||||
|
||||
sep = self.sep()
|
||||
|
||||
return self.prepend_ctes(
|
||||
expression,
|
||||
f"MERGE INTO {this}{table_alias}{sep}{using}{sep}{on}{sep}{expressions}",
|
||||
f"MERGE INTO {this}{table_alias}{sep}{using}{sep}{on}{sep}{whens}",
|
||||
)
|
||||
|
||||
@unsupported_args("format")
|
||||
|
@ -4056,7 +4063,7 @@ class Generator(metaclass=_Generator):
|
|||
|
||||
if to.this == exp.DataType.Type.DATE:
|
||||
transformed = exp.StrToDate(this=value, format=fmt)
|
||||
elif to.this == exp.DataType.Type.DATETIME:
|
||||
elif to.this in (exp.DataType.Type.DATETIME, exp.DataType.Type.DATETIME2):
|
||||
transformed = exp.StrToTime(this=value, format=fmt)
|
||||
elif to.this in self.PARAMETERIZABLE_TEXT_TYPES:
|
||||
transformed = cast(this=exp.TimeToStr(this=value, format=fmt), to=to, safe=safe)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue