From: Mark Wine Date: Tue, 20 Feb 2024 02:25:20 +0000 (-0800) Subject: updated typing for self_group() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62ecd0f8799a4e7a374822a08f8aeec9bf91b5da;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git updated typing for self_group() --- diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index c3f7b884ce..23afbda092 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -1396,14 +1396,12 @@ class ColumnElement( @overload def self_group( self: ColumnElement[_T], against: Optional[OperatorType] = None - ) -> ColumnElement[_T]: - ... + ) -> ColumnElement[_T]: ... @overload def self_group( self: ColumnElement[Any], against: Optional[OperatorType] = None - ) -> ColumnElement[Any]: - ... + ) -> ColumnElement[Any]: ... def self_group( self, against: Optional[OperatorType] = None @@ -2539,7 +2537,9 @@ class TextClause( def comparator(self): return self.type.comparator_factory(self) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: if against is operators.in_op: return Grouping(self) else: @@ -2738,7 +2738,9 @@ class ClauseList( def _from_objects(self) -> List[FromClause]: return list(itertools.chain(*[c._from_objects for c in self.clauses])) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: if self.group and operators.is_precedent(self.operator, against): return Grouping(self) else: @@ -2761,7 +2763,9 @@ class OperatorExpression(ColumnElement[_T]): def is_comparison(self): return operators.is_comparison(self.operator) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: if ( self.group and operators.is_precedent(self.operator, against) @@ -3111,7 +3115,9 @@ class BooleanClauseList(ExpressionClauseList[bool]): def _select_iterable(self) -> _SelectIterable: return (self,) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: if not self.clauses: return self else: @@ -3193,7 +3199,9 @@ class Tuple(ClauseList, ColumnElement[typing_Tuple[Any, ...]]): ] ) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: # Tuple is parenthesized by definition. return self @@ -3409,7 +3417,9 @@ class TypeCoerce(WrapsColumnExpression[_T]): def wrapped_column_expression(self): return self.clause - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: grouped = self.clause.self_group(against=against) if grouped is not self.clause: return TypeCoerce(grouped, self.type) @@ -3695,7 +3705,9 @@ class AsBoolean(WrapsColumnExpression[bool], UnaryExpression[bool]): def wrapped_column_expression(self): return self.element - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: return self def _negate(self): @@ -3896,7 +3908,9 @@ class Slice(ColumnElement[Any]): ) self.type = type_api.NULLTYPE - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: assert against is operator.getitem return self @@ -3915,7 +3929,9 @@ class GroupedElement(DQLDMLClauseElement): element: ClauseElement - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: return self def _ungroup(self): @@ -4303,7 +4319,9 @@ class FunctionFilter(ColumnElement[_T]): rows=rows, ) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: if operators.is_precedent(operators.filter_op, against): return Grouping(self) else: @@ -4526,7 +4544,9 @@ class Label(roles.LabeledColumnExprRole[_T], NamedColumn[_T]): def element(self) -> ColumnElement[_T]: return self._element.self_group(against=operators.as_) - def self_group(self, against=None): + def self_group( + self, against: Optional[OperatorType] = None + ) -> ClauseElement: return self._apply_to_inner(self._element.self_group, against=against) def _negate(self):