Adding upstream version 16.7.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
2af48256b8
commit
7297023f4e
75 changed files with 33866 additions and 31988 deletions
|
@ -188,6 +188,7 @@ class Generator:
|
|||
exp.CollateProperty: exp.Properties.Location.POST_SCHEMA,
|
||||
exp.CopyGrantsProperty: exp.Properties.Location.POST_SCHEMA,
|
||||
exp.Cluster: exp.Properties.Location.POST_SCHEMA,
|
||||
exp.ClusteredByProperty: exp.Properties.Location.POST_SCHEMA,
|
||||
exp.DataBlocksizeProperty: exp.Properties.Location.POST_NAME,
|
||||
exp.DefinerProperty: exp.Properties.Location.POST_CREATE,
|
||||
exp.DictRange: exp.Properties.Location.POST_SCHEMA,
|
||||
|
@ -1408,7 +1409,8 @@ class Generator:
|
|||
expressions = (
|
||||
f" {self.expressions(expression, flat=True)}" if expression.expressions else ""
|
||||
)
|
||||
return f"SET{expressions}"
|
||||
tag = " TAG" if expression.args.get("tag") else ""
|
||||
return f"{'UNSET' if expression.args.get('unset') else 'SET'}{tag}{expressions}"
|
||||
|
||||
def pragma_sql(self, expression: exp.Pragma) -> str:
|
||||
return f"PRAGMA {self.sql(expression, 'this')}"
|
||||
|
@ -1749,6 +1751,9 @@ class Generator:
|
|||
|
||||
return f"{self.sql(expression, 'this')}[{expressions_sql}]"
|
||||
|
||||
def safebracket_sql(self, expression: exp.SafeBracket) -> str:
|
||||
return self.bracket_sql(expression)
|
||||
|
||||
def all_sql(self, expression: exp.All) -> str:
|
||||
return f"ALL {self.wrap(expression)}"
|
||||
|
||||
|
@ -2000,8 +2005,10 @@ class Generator:
|
|||
def bitwisexor_sql(self, expression: exp.BitwiseXor) -> str:
|
||||
return self.binary(expression, "^")
|
||||
|
||||
def cast_sql(self, expression: exp.Cast) -> str:
|
||||
return f"CAST({self.sql(expression, 'this')} AS {self.sql(expression, 'to')})"
|
||||
def cast_sql(self, expression: exp.Cast, safe_prefix: t.Optional[str] = None) -> str:
|
||||
format_sql = self.sql(expression, "format")
|
||||
format_sql = f" FORMAT {format_sql}" if format_sql else ""
|
||||
return f"{safe_prefix or ''}CAST({self.sql(expression, 'this')} AS {self.sql(expression, 'to')}{format_sql})"
|
||||
|
||||
def currentdate_sql(self, expression: exp.CurrentDate) -> str:
|
||||
zone = self.sql(expression, "this")
|
||||
|
@ -2227,7 +2234,7 @@ class Generator:
|
|||
return self.binary(expression, "-")
|
||||
|
||||
def trycast_sql(self, expression: exp.TryCast) -> str:
|
||||
return f"TRY_CAST({self.sql(expression, 'this')} AS {self.sql(expression, 'to')})"
|
||||
return self.cast_sql(expression, safe_prefix="TRY_")
|
||||
|
||||
def use_sql(self, expression: exp.Use) -> str:
|
||||
kind = self.sql(expression, "kind")
|
||||
|
@ -2409,6 +2416,13 @@ class Generator:
|
|||
def oncluster_sql(self, expression: exp.OnCluster) -> str:
|
||||
return ""
|
||||
|
||||
def clusteredbyproperty_sql(self, expression: exp.ClusteredByProperty) -> str:
|
||||
expressions = self.expressions(expression, key="expressions", flat=True)
|
||||
sorted_by = self.expressions(expression, key="sorted_by", flat=True)
|
||||
sorted_by = f" SORTED BY ({sorted_by})" if sorted_by else ""
|
||||
buckets = self.sql(expression, "buckets")
|
||||
return f"CLUSTERED BY ({expressions}){sorted_by} INTO {buckets} BUCKETS"
|
||||
|
||||
|
||||
def cached_generator(
|
||||
cache: t.Optional[t.Dict[int, str]] = None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue