(
self,
columns: WriteableColumnCollection[str, KeyedColumnElement[Any]],
primary_key: ColumnSet,
foreign_keys: Set[KeyedColumnElement[Any]],
)
| 1376 | |
| 1377 | @util.preload_module("sqlalchemy.sql.util") |
| 1378 | def _populate_column_collection( |
| 1379 | self, |
| 1380 | columns: WriteableColumnCollection[str, KeyedColumnElement[Any]], |
| 1381 | primary_key: ColumnSet, |
| 1382 | foreign_keys: Set[KeyedColumnElement[Any]], |
| 1383 | ) -> None: |
| 1384 | sqlutil = util.preloaded.sql_util |
| 1385 | _columns: List[KeyedColumnElement[Any]] = [c for c in self.left.c] + [ |
| 1386 | c for c in self.right.c |
| 1387 | ] |
| 1388 | |
| 1389 | primary_key.extend( |
| 1390 | sqlutil.reduce_columns( |
| 1391 | (c for c in _columns if c.primary_key), self.onclause |
| 1392 | ) |
| 1393 | ) |
| 1394 | columns._populate_separate_keys( |
| 1395 | (col._tq_key_label, col) for col in _columns # type: ignore |
| 1396 | ) |
| 1397 | foreign_keys.update( |
| 1398 | itertools.chain(*[col.foreign_keys for col in _columns]) # type: ignore # noqa: E501 |
| 1399 | ) |
| 1400 | |
| 1401 | def _copy_internals( |
| 1402 | self, clone: _CloneCallableType = _clone, **kw: Any |
nothing calls this directly
no test coverage detected