(
self,
element: ColumnElement[_T],
partition_by: Optional[_ByArgument] = None,
order_by: Optional[_ByArgument] = None,
range_: _FrameIntTuple | FrameClause | None = None,
rows: _FrameIntTuple | FrameClause | None = None,
groups: _FrameIntTuple | FrameClause | None = None,
exclude: str | None = None,
)
| 4543 | exclude: str | None |
| 4544 | |
| 4545 | def __init__( |
| 4546 | self, |
| 4547 | element: ColumnElement[_T], |
| 4548 | partition_by: Optional[_ByArgument] = None, |
| 4549 | order_by: Optional[_ByArgument] = None, |
| 4550 | range_: _FrameIntTuple | FrameClause | None = None, |
| 4551 | rows: _FrameIntTuple | FrameClause | None = None, |
| 4552 | groups: _FrameIntTuple | FrameClause | None = None, |
| 4553 | exclude: str | None = None, |
| 4554 | ): |
| 4555 | self.element = element |
| 4556 | if order_by is not None: |
| 4557 | self.order_by = ClauseList( |
| 4558 | *util.to_list(order_by), _literal_as_text_role=roles.ByOfRole |
| 4559 | ) |
| 4560 | if partition_by is not None: |
| 4561 | self.partition_by = ClauseList( |
| 4562 | *util.to_list(partition_by), |
| 4563 | _literal_as_text_role=roles.ByOfRole, |
| 4564 | ) |
| 4565 | |
| 4566 | if sum(item is not None for item in (range_, rows, groups)) > 1: |
| 4567 | raise exc.ArgumentError( |
| 4568 | class="st">"only one of &class="cm">#x27;rows', 'range_', or 'groups' may be provided" |
| 4569 | ) |
| 4570 | else: |
| 4571 | self.range_ = FrameClause._parse(range_, coerce_int=False) |
| 4572 | self.rows = FrameClause._parse(rows, coerce_int=True) |
| 4573 | self.groups = FrameClause._parse(groups, coerce_int=True) |
| 4574 | |
| 4575 | self.exclude = exclude |
| 4576 | |
| 4577 | if exclude is not None and ( |
| 4578 | range_ is None and rows is None and groups is None |
| 4579 | ): |
| 4580 | raise exc.ArgumentError( |
| 4581 | class="st">"&class="cm">#x27;exclude' requires that one of 'rows', " |
| 4582 | class="st">"&class="cm">#x27;range_', or 'groups' is also specified" |
| 4583 | ) |
| 4584 | |
| 4585 | if not TYPE_CHECKING: |
| 4586 |
nothing calls this directly
no test coverage detected