_traverse_internals: _TraverseInternalsType = []
_singleton: Null
- @util.memoized_property
- def type(self):
- return type_api.NULLTYPE
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ return type_api.NULLTYPE
@classmethod
def _instance(cls) -> Null:
_traverse_internals: _TraverseInternalsType = []
_singleton: False_
- @util.memoized_property
- def type(self):
- return type_api.BOOLEANTYPE
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ return type_api.BOOLEANTYPE
def _negate(self) -> True_:
return True_._singleton
_traverse_internals: _TraverseInternalsType = []
_singleton: True_
- @util.memoized_property
- def type(self):
- return type_api.BOOLEANTYPE
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ return type_api.BOOLEANTYPE
def _negate(self) -> False_:
return False_._singleton
return lower, upper
- @util.memoized_property
- def type(self):
- return self.element.type
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ return self.element.type
@util.ro_non_memoized_property
def _from_objects(self) -> List[FromClause]:
rows=rows,
)
- @util.memoized_property
- def type(self):
- wgt = self.element.within_group_type(self)
- if wgt is not None:
- return wgt
- else:
- return self.element.type
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ wgt = self.element.within_group_type(self)
+ if wgt is not None:
+ return wgt
+ else:
+ return self.element.type
@util.ro_non_memoized_property
def _from_objects(self) -> List[FromClause]:
self.func = func
self.filter(*criterion)
- def filter(self, *criterion):
+ def filter(self, *criterion: _ColumnExpressionArgument[bool]) -> Self:
"""Produce an additional FILTER against the function.
This method adds additional criteria to the initial criteria
rows=rows,
)
- def self_group(self, against=None):
+ def self_group(
+ self, against: Optional[OperatorType] = None
+ ) -> Union[Self, Grouping[_T]]:
if operators.is_precedent(operators.filter_op, against):
return Grouping(self)
else:
return self
- @util.memoized_property
- def type(self):
- return self.func.type
+ if not TYPE_CHECKING:
+
+ @util.memoized_property
+ def type(self) -> TypeEngine[_T]: # noqa: A001
+ return self.func.type
@util.ro_non_memoized_property
def _from_objects(self) -> List[FromClause]:
from .type_api import TypeEngine
from .visitors import InternalTraversal
from .. import util
-from ..util.typing import Self
if TYPE_CHECKING:
from ..engine.cursor import CursorResult
from ..engine.interfaces import _CoreMultiExecuteParams
from ..engine.interfaces import CoreExecuteOptionsParameter
+ from ..util.typing import Self
_T = TypeVar("_T", bound=Any)
_S = TypeVar("_S", bound=Any)
"""
return WithinGroup(self, *order_by)
+ @overload
+ def filter(self) -> Self:
+ ...
+
+ @overload
+ def filter(
+ self,
+ __criterion0: _ColumnExpressionArgument[bool],
+ *criterion: _ColumnExpressionArgument[bool],
+ ) -> FunctionFilter[_T]:
+ ...
+
def filter(
self, *criterion: _ColumnExpressionArgument[bool]
) -> Union[Self, FunctionFilter[_T]]: