Represent a grouping of a FROM clause
| 3071 | |
| 3072 | |
| 3073 | class FromGrouping(GroupedElement, FromClause[_KeyColCC_co]): |
| 3074 | """Represent a grouping of a FROM clause""" |
| 3075 | |
| 3076 | _traverse_internals: _TraverseInternalsType = [ |
| 3077 | ("element", InternalTraversal.dp_clauseelement) |
| 3078 | ] |
| 3079 | |
| 3080 | element: FromClause[_KeyColCC_co] |
| 3081 | |
| 3082 | def __init__(self, element: FromClause[_KeyColCC_co]): |
| 3083 | self.element = coercions.expect(roles.FromClauseRole, element) |
| 3084 | |
| 3085 | @util.ro_non_memoized_property |
| 3086 | def columns(self) -> _KeyColCC_co: |
| 3087 | return self.element.columns |
| 3088 | |
| 3089 | @util.ro_non_memoized_property |
| 3090 | def c(self) -> _KeyColCC_co: |
| 3091 | return self.element.columns |
| 3092 | |
| 3093 | @property |
| 3094 | def primary_key(self) -> Iterable[NamedColumn[Any]]: |
| 3095 | return self.element.primary_key |
| 3096 | |
| 3097 | @property |
| 3098 | def foreign_keys(self) -> Iterable[ForeignKey]: |
| 3099 | return self.element.foreign_keys |
| 3100 | |
| 3101 | def is_derived_from(self, fromclause: Optional[FromClause]) -> bool: |
| 3102 | return self.element.is_derived_from(fromclause) |
| 3103 | |
| 3104 | def alias( |
| 3105 | self, name: Optional[str] = None, flat: bool = False |
| 3106 | ) -> NamedFromGrouping[_KeyColCC_co]: |
| 3107 | return NamedFromGrouping(self.element.alias(name=name, flat=flat)) |
| 3108 | |
| 3109 | def _anonymous_fromclause( |
| 3110 | self, *, name: Optional[str] = None, flat: bool = False |
| 3111 | ) -> FromGrouping: |
| 3112 | return FromGrouping( |
| 3113 | self.element._anonymous_fromclause(name=name, flat=flat) |
| 3114 | ) |
| 3115 | |
| 3116 | @util.ro_non_memoized_property |
| 3117 | def _hide_froms(self) -> Iterable[FromClause]: |
| 3118 | return self.element._hide_froms |
| 3119 | |
| 3120 | @util.ro_non_memoized_property |
| 3121 | def _from_objects(self) -> List[FromClause]: |
| 3122 | return self.element._from_objects |
| 3123 | |
| 3124 | def __getstate__(self) -> Dict[str, FromClause[_KeyColCC_co]]: |
| 3125 | return {"element": self.element} |
| 3126 | |
| 3127 | def __setstate__(self, state: Dict[str, FromClause[_KeyColCC_co]]) -> None: |
| 3128 | self.element = state["element"] |
| 3129 | |
| 3130 | if TYPE_CHECKING: |
no outgoing calls