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

Method __init__

lib/sqlalchemy/engine/result.py:275–314  ·  view source on GitHub ↗
(
        self,
        keys: Sequence[str],
        extra: Optional[Sequence[Any]] = None,
        _processors: Optional[_ProcessorsType] = None,
        _tuplefilter: Optional[_TupleGetterType] = None,
        _translated_indexes: Optional[Sequence[int]] = None,
        _unique_filters: Optional[Sequence[Callable[[Any], Any]]] = None,
        _ambiguous_keys: Optional[frozenset[str]] = None,
    )

Source from the content-addressed store, hash-verified

273 _keys: Sequence[str]
274
275 def __init__(
276 self,
277 keys: Sequence[str],
278 extra: Optional[Sequence[Any]] = None,
279 _processors: Optional[_ProcessorsType] = None,
280 _tuplefilter: Optional[_TupleGetterType] = None,
281 _translated_indexes: Optional[Sequence[int]] = None,
282 _unique_filters: Optional[Sequence[Callable[[Any], Any]]] = None,
283 _ambiguous_keys: Optional[frozenset[str]] = None,
284 ):
285 self._keys = list(keys)
286 self._tuplefilter = _tuplefilter
287 self._translated_indexes = _translated_indexes
288 self._unique_filters = _unique_filters
289 if extra:
290 recs_names = [
291 (
292 (name,) + (extras if extras else ()),
293 (index, name, extras),
294 )
295 for index, (name, extras) in enumerate(zip(self._keys, extra))
296 ]
297 else:
298 recs_names = [
299 ((name,), (index, name, ()))
300 for index, name in enumerate(self._keys)
301 ]
302
303 self._keymap = {key: rec for keys, rec in recs_names for key in keys}
304
305 if _ambiguous_keys:
306 for name in _ambiguous_keys.intersection(self._keymap):
307 rec = self._keymap[name]
308 self._keymap[name] = (None,) + rec[1:]
309
310 self._processors = _processors
311
312 self._ambiguous_keys = _ambiguous_keys
313
314 self._key_to_index = self._make_key_to_index(self._keymap, 0)
315
316 def _has_key(self, key: object) -> bool:
317 return key in self._keymap

Callers 1

__setstate__Method · 0.95

Calls 2

_make_key_to_indexMethod · 0.80
intersectionMethod · 0.45

Tested by

no test coverage detected