MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / _make_extra_froms

Method _make_extra_froms

lib/sqlalchemy/sql/dml.py:208–228  ·  view source on GitHub ↗
(
        self, statement: DMLWhereBase
    )

Source from the content-addressed store, hash-verified

206 ]
207
208 def _make_extra_froms(
209 self, statement: DMLWhereBase
210 ) -> Tuple[FromClause, List[FromClause]]:
211 froms: List[FromClause] = []
212
213 all_tables = list(sql_util.tables_from_leftmost(statement.table))
214 primary_table = all_tables[0]
215 seen = {primary_table}
216
217 consider = statement._where_criteria
218 if self._dict_parameters:
219 consider += tuple(self._dict_parameters.values())
220
221 for crit in consider:
222 for item in _from_objects(crit):
223 if not seen.intersection(item._cloned_set):
224 froms.append(item)
225 seen.update(item._cloned_set)
226
227 froms.extend(all_tables[1:])
228 return primary_table, froms
229
230 def _process_values(self, statement: ValuesBase) -> None:
231 if self._no_parameters:

Callers 2

__init__Method · 0.80
__init__Method · 0.80

Calls 6

_from_objectsFunction · 0.85
valuesMethod · 0.45
intersectionMethod · 0.45
appendMethod · 0.45
updateMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected