(
self, statement: DMLWhereBase
)
| 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: |
no test coverage detected