@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
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:
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:
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)
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:
]
)
- def self_group(self, against=None):
+ def self_group(
+ self, against: Optional[OperatorType] = None
+ ) -> ClauseElement:
# Tuple is parenthesized by definition.
return self
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)
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):
)
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
element: ClauseElement
- def self_group(self, against=None):
+ def self_group(
+ self, against: Optional[OperatorType] = None
+ ) -> ClauseElement:
return self
def _ungroup(self):
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:
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):