Merging upstream version 10.6.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
fe1b1057f7
commit
2153103f81
36 changed files with 1007 additions and 270 deletions
|
@ -230,6 +230,7 @@ class Expression(metaclass=_Expression):
|
|||
Returns a deep copy of the expression.
|
||||
"""
|
||||
new = deepcopy(self)
|
||||
new.parent = self.parent
|
||||
for item, parent, _ in new.bfs():
|
||||
if isinstance(item, Expression) and parent:
|
||||
item.parent = parent
|
||||
|
@ -759,6 +760,10 @@ class Create(Expression):
|
|||
"this": True,
|
||||
"kind": True,
|
||||
"expression": False,
|
||||
"set": False,
|
||||
"multiset": False,
|
||||
"global_temporary": False,
|
||||
"volatile": False,
|
||||
"exists": False,
|
||||
"properties": False,
|
||||
"temporary": False,
|
||||
|
@ -1082,7 +1087,7 @@ class LoadData(Expression):
|
|||
|
||||
|
||||
class Partition(Expression):
|
||||
pass
|
||||
arg_types = {"expressions": True}
|
||||
|
||||
|
||||
class Fetch(Expression):
|
||||
|
@ -1232,6 +1237,18 @@ class Lateral(UDTF):
|
|||
arg_types = {"this": True, "view": False, "outer": False, "alias": False}
|
||||
|
||||
|
||||
class MatchRecognize(Expression):
|
||||
arg_types = {
|
||||
"partition_by": False,
|
||||
"order": False,
|
||||
"measures": False,
|
||||
"rows": False,
|
||||
"after": False,
|
||||
"pattern": False,
|
||||
"define": False,
|
||||
}
|
||||
|
||||
|
||||
# Clickhouse FROM FINAL modifier
|
||||
# https://clickhouse.com/docs/en/sql-reference/statements/select/from/#final-modifier
|
||||
class Final(Expression):
|
||||
|
@ -1357,8 +1374,58 @@ class SerdeProperties(Property):
|
|||
arg_types = {"expressions": True}
|
||||
|
||||
|
||||
class FallbackProperty(Property):
|
||||
arg_types = {"no": True, "protection": False}
|
||||
|
||||
|
||||
class WithJournalTableProperty(Property):
|
||||
arg_types = {"this": True}
|
||||
|
||||
|
||||
class LogProperty(Property):
|
||||
arg_types = {"no": True}
|
||||
|
||||
|
||||
class JournalProperty(Property):
|
||||
arg_types = {"no": True, "dual": False, "before": False}
|
||||
|
||||
|
||||
class AfterJournalProperty(Property):
|
||||
arg_types = {"no": True, "dual": False, "local": False}
|
||||
|
||||
|
||||
class ChecksumProperty(Property):
|
||||
arg_types = {"on": False, "default": False}
|
||||
|
||||
|
||||
class FreespaceProperty(Property):
|
||||
arg_types = {"this": True, "percent": False}
|
||||
|
||||
|
||||
class MergeBlockRatioProperty(Property):
|
||||
arg_types = {"this": False, "no": False, "default": False, "percent": False}
|
||||
|
||||
|
||||
class DataBlocksizeProperty(Property):
|
||||
arg_types = {"size": False, "units": False, "min": False, "default": False}
|
||||
|
||||
|
||||
class BlockCompressionProperty(Property):
|
||||
arg_types = {"autotemp": False, "always": False, "default": True, "manual": True, "never": True}
|
||||
|
||||
|
||||
class IsolatedLoadingProperty(Property):
|
||||
arg_types = {
|
||||
"no": True,
|
||||
"concurrent": True,
|
||||
"for_all": True,
|
||||
"for_insert": True,
|
||||
"for_none": True,
|
||||
}
|
||||
|
||||
|
||||
class Properties(Expression):
|
||||
arg_types = {"expressions": True}
|
||||
arg_types = {"expressions": True, "before": False}
|
||||
|
||||
NAME_TO_PROPERTY = {
|
||||
"AUTO_INCREMENT": AutoIncrementProperty,
|
||||
|
@ -1510,6 +1577,7 @@ class Subqueryable(Unionable):
|
|||
|
||||
|
||||
QUERY_MODIFIERS = {
|
||||
"match": False,
|
||||
"laterals": False,
|
||||
"joins": False,
|
||||
"pivots": False,
|
||||
|
@ -2459,6 +2527,10 @@ class AddConstraint(Expression):
|
|||
arg_types = {"this": False, "expression": False, "enforced": False}
|
||||
|
||||
|
||||
class DropPartition(Expression):
|
||||
arg_types = {"expressions": True, "exists": False}
|
||||
|
||||
|
||||
# Binary expressions like (ADD a b)
|
||||
class Binary(Expression):
|
||||
arg_types = {"this": True, "expression": True}
|
||||
|
@ -2540,6 +2612,10 @@ class Escape(Binary):
|
|||
pass
|
||||
|
||||
|
||||
class Glob(Binary, Predicate):
|
||||
pass
|
||||
|
||||
|
||||
class GT(Binary, Predicate):
|
||||
pass
|
||||
|
||||
|
@ -3126,8 +3202,7 @@ class Posexplode(Func):
|
|||
pass
|
||||
|
||||
|
||||
class Pow(Func):
|
||||
arg_types = {"this": True, "power": True}
|
||||
class Pow(Binary, Func):
|
||||
_sql_names = ["POWER", "POW"]
|
||||
|
||||
|
||||
|
@ -3361,7 +3436,7 @@ class Year(Func):
|
|||
|
||||
|
||||
class Use(Expression):
|
||||
pass
|
||||
arg_types = {"this": True, "kind": False}
|
||||
|
||||
|
||||
class Merge(Expression):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue