(self, selectable: Any, *, name: Optional[str] = None)
| 1769 | return obj |
| 1770 | |
| 1771 | def _init(self, selectable: Any, *, name: Optional[str] = None) -> None: |
| 1772 | self.element = coercions.expect( |
| 1773 | roles.ReturnsRowsRole, selectable, apply_propagate_attrs=self |
| 1774 | ) |
| 1775 | self.element = selectable |
| 1776 | self._orig_name = name |
| 1777 | if name is None: |
| 1778 | if ( |
| 1779 | isinstance(selectable, FromClause) |
| 1780 | and selectable.named_with_column |
| 1781 | ): |
| 1782 | name = getattr(selectable, "name", None) |
| 1783 | if isinstance(name, _anonymous_label): |
| 1784 | name = None |
| 1785 | name = _anonymous_label.safe_construct( |
| 1786 | os.urandom(10).hex(), name or "anon" |
| 1787 | ) |
| 1788 | self.name = name |
| 1789 | |
| 1790 | def _refresh_for_new_column(self, column: ColumnElement[Any]) -> None: |
| 1791 | super()._refresh_for_new_column(column) |
nothing calls this directly
no test coverage detected