MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _set_parent

Method _set_parent

lib/sqlalchemy/sql/schema.py:5686–5712  ·  view source on GitHub ↗
(self, parent: SchemaEventTarget, **kw: Any)

Source from the content-addressed store, hash-verified

5684 self._set_parent(table)
5685
5686 def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None:
5687 table = parent
5688 assert isinstance(table, Table)
5689 ColumnCollectionMixin._set_parent(self, table)
5690
5691 if self.table is not None and table is not self.table:
5692 raise exc.ArgumentError(
5693 f"Index '{self.name}' is against table "
5694 f"'{self.table.description}', and "
5695 f"cannot be associated with table '{table.description}'."
5696 )
5697 self.table = table
5698 table.indexes.add(self)
5699
5700 expressions = self.expressions
5701 col_expressions = self._col_expressions(table)
5702 assert len(expressions) == len(col_expressions)
5703
5704 exprs = []
5705 for expr, colexpr in zip(expressions, col_expressions):
5706 if isinstance(expr, ClauseElement):
5707 exprs.append(expr)
5708 elif colexpr is not None:
5709 exprs.append(colexpr)
5710 else:
5711 assert False
5712 self.expressions = self._table_bound_expressions = exprs
5713
5714 def create(
5715 self,

Callers 1

__init__Method · 0.95

Calls 4

_col_expressionsMethod · 0.80
_set_parentMethod · 0.45
addMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected