1
0
Fork 0

Merging upstream version 11.3.3.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 15:43:32 +01:00
parent f767789b5e
commit 4a70b88890
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
62 changed files with 28339 additions and 27272 deletions

View file

@ -1031,7 +1031,7 @@ class Constraint(Expression):
class Delete(Expression):
arg_types = {"with": False, "this": False, "using": False, "where": False}
arg_types = {"with": False, "this": False, "using": False, "where": False, "returning": False}
class Drop(Expression):
@ -1132,6 +1132,7 @@ class Insert(Expression):
"with": False,
"this": True,
"expression": False,
"returning": False,
"overwrite": False,
"exists": False,
"partition": False,
@ -1139,6 +1140,10 @@ class Insert(Expression):
}
class Returning(Expression):
arg_types = {"expressions": True}
# https://dev.mysql.com/doc/refman/8.0/en/charset-introducer.html
class Introducer(Expression):
arg_types = {"this": True, "expression": True}
@ -1747,6 +1752,7 @@ QUERY_MODIFIERS = {
"limit": False,
"offset": False,
"lock": False,
"sample": False,
}
@ -1895,6 +1901,7 @@ class Update(Expression):
"expressions": True,
"from": False,
"where": False,
"returning": False,
}
@ -2401,6 +2408,18 @@ class Select(Subqueryable):
**opts,
)
def qualify(self, *expressions, append=True, dialect=None, copy=True, **opts) -> Select:
return _apply_conjunction_builder(
*expressions,
instance=self,
arg="qualify",
append=append,
into=Qualify,
dialect=dialect,
copy=copy,
**opts,
)
def distinct(self, distinct=True, copy=True) -> Select:
"""
Set the OFFSET expression.
@ -2531,6 +2550,7 @@ class TableSample(Expression):
"rows": False,
"size": False,
"seed": False,
"kind": False,
}
@ -3423,7 +3443,7 @@ class JSONBExtractScalar(JSONExtract):
class Least(Func):
arg_types = {"this": True, "expressions": False}
arg_types = {"expressions": False}
is_var_len_args = True
@ -3485,11 +3505,13 @@ class Matches(Func):
class Max(AggFunc):
arg_types = {"this": True, "expression": False}
arg_types = {"this": True, "expressions": False}
is_var_len_args = True
class Min(AggFunc):
arg_types = {"this": True, "expression": False}
arg_types = {"this": True, "expressions": False}
is_var_len_args = True
class Month(Func):
@ -3764,7 +3786,7 @@ class Merge(Expression):
class When(Func):
arg_types = {"this": True, "then": True}
arg_types = {"matched": True, "source": False, "condition": False, "then": True}
def _norm_args(expression):