MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / __init__

Method __init__

lib/sqlalchemy/sql/elements.py:5169–5206  ·  view source on GitHub ↗
(
        self,
        name: Optional[str],
        element: _ColumnExpressionArgument[_T],
        type_: Optional[_TypeEngineArgument[_T]] = None,
    )

Source from the content-addressed store, hash-verified

5167 name: str
5168
5169 def __init__(
5170 self,
5171 name: Optional[str],
5172 element: _ColumnExpressionArgument[_T],
5173 type_: Optional[_TypeEngineArgument[_T]] = None,
5174 ):
5175 orig_element = element
5176 element = coercions.expect(
5177 roles.ExpressionElementRole,
5178 element,
5179 apply_propagate_attrs=self,
5180 )
5181 while isinstance(element, Label):
5182 # TODO: this is only covered in test_text.py, but nothing
5183 # fails if it's removed. determine rationale
5184 element = element.element
5185
5186 if name:
5187 self.name = name
5188 else:
5189 self.name = _anonymous_label.safe_construct(
5190 id(self), getattr(element, "name", "anon")
5191 )
5192 if isinstance(orig_element, Label):
5193 # TODO: no coverage for this block, again would be in
5194 # test_text.py where the resolve_label concept is important
5195 self._resolve_label = orig_element._label
5196
5197 self.key = self._tq_label = self._tq_key_label = self.name
5198 self._element = element
5199
5200 self.type = (
5201 type_api.to_instance(type_)
5202 if type_ is not None
5203 else self._element.type
5204 )
5205
5206 self._proxies = [element]
5207
5208 def __reduce__(self):
5209 return self.__class__, (self.name, self._element, self.type)

Callers

nothing calls this directly

Calls 1

safe_constructMethod · 0.80

Tested by

no test coverage detected