MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _populate_column_collection

Method _populate_column_collection

lib/sqlalchemy/sql/selectable.py:1378–1399  ·  view source on GitHub ↗
(
        self,
        columns: WriteableColumnCollection[str, KeyedColumnElement[Any]],
        primary_key: ColumnSet,
        foreign_keys: Set[KeyedColumnElement[Any]],
    )

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

reduce_columnsMethod · 0.80
extendMethod · 0.45
updateMethod · 0.45
chainMethod · 0.45

Tested by

no test coverage detected