(
self,
columns: ColumnCollection[str, KeyedColumnElement[Any]],
primary_key: ColumnSet,
foreign_keys: Set[KeyedColumnElement[Any]],
)
| 1339 | |
| 1340 | @util.preload_module("sqlalchemy.sql.util") |
| 1341 | def _populate_column_collection( |
| 1342 | self, |
| 1343 | columns: ColumnCollection[str, KeyedColumnElement[Any]], |
| 1344 | primary_key: ColumnSet, |
| 1345 | foreign_keys: Set[KeyedColumnElement[Any]], |
| 1346 | ) -> None: |
| 1347 | sqlutil = util.preloaded.sql_util |
| 1348 | _columns: List[KeyedColumnElement[Any]] = [c for c in self.left.c] + [ |
| 1349 | c for c in self.right.c |
| 1350 | ] |
| 1351 | |
| 1352 | primary_key.extend( |
| 1353 | sqlutil.reduce_columns( |
| 1354 | (c for c in _columns if c.primary_key), self.onclause |
| 1355 | ) |
| 1356 | ) |
| 1357 | columns._populate_separate_keys( |
| 1358 | (col._tq_key_label, col) for col in _columns # type: ignore |
| 1359 | ) |
| 1360 | foreign_keys.update( |
| 1361 | itertools.chain(*[col.foreign_keys for col in _columns]) # type: ignore # noqa: E501 |
| 1362 | ) |
| 1363 | |
| 1364 | def _copy_internals( |
| 1365 | self, clone: _CloneCallableType = _clone, **kw: Any |
nothing calls this directly
no test coverage detected