MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _reduce

Method _reduce

lib/sqlalchemy/engine/result.py:396–424  ·  view source on GitHub ↗
(self, keys: Sequence[Any])

Source from the content-addressed store, hash-verified

394 yield rec
395
396 def _reduce(self, keys: Sequence[Any]) -> ResultMetaData:
397 try:
398 metadata_for_keys = [
399 self._keymap[self._keys[key] if isinstance(key, int) else key]
400 for key in keys
401 ]
402 except KeyError as ke:
403 self._key_fallback(ke.args[0], ke, True)
404
405 indexes: Sequence[int]
406 new_keys: Sequence[str]
407 extra: Sequence[Any]
408 indexes, new_keys, extra = zip(*metadata_for_keys)
409
410 if self._translated_indexes:
411 indexes = [self._translated_indexes[idx] for idx in indexes]
412
413 tup = tuplegetter(*indexes)
414
415 new_metadata = SimpleResultMetaData(
416 new_keys,
417 extra=extra,
418 _tuplefilter=tup,
419 _translated_indexes=indexes,
420 _processors=self._processors,
421 _create_unique_filters=self._create_unique_filters,
422 )
423
424 return new_metadata
425
426
427def result_tuple(

Callers

nothing calls this directly

Calls 3

tuplegetterFunction · 0.85
_key_fallbackMethod · 0.45

Tested by

no test coverage detected