MCPcopy Create free account
hub / github.com/zzzeek/sqlalchemy / create_row_processor

Method create_row_processor

lib/sqlalchemy/orm/strategies.py:1389–1429  ·  view source on GitHub ↗
(
        self,
        context,
        query_entity,
        path,
        loadopt,
        mapper,
        result,
        adapter,
        populators,
    )

Source from the content-addressed store, hash-verified

1387 ).init_class_attribute(mapper)
1388
1389 def create_row_processor(
1390 self,
1391 context,
1392 query_entity,
1393 path,
1394 loadopt,
1395 mapper,
1396 result,
1397 adapter,
1398 populators,
1399 ):
1400 if not context.compile_state.compile_options._enable_eagerloads:
1401 return
1402
1403 (
1404 effective_path,
1405 run_loader,
1406 execution_options,
1407 recursion_depth,
1408 ) = self._setup_for_recursion(context, path, loadopt, self.join_depth)
1409
1410 if not run_loader:
1411 # this will not emit SQL and will only emit for a many-to-one
1412 # "use get" load. the "_RELATED" part means it may return
1413 # instance even if its expired, since this is a mutually-recursive
1414 # load operation.
1415 flags = attributes.PASSIVE_NO_FETCH_RELATED | PassiveFlag.NO_RAISE
1416 else:
1417 flags = attributes.PASSIVE_OFF | PassiveFlag.NO_RAISE
1418
1419 loading._PostLoad.callable_for_path(
1420 context,
1421 effective_path,
1422 self.parent,
1423 self.parent_property,
1424 self._load_for_path,
1425 loadopt,
1426 flags,
1427 recursion_depth,
1428 execution_options,
1429 )
1430
1431 def _load_for_path(
1432 self,

Callers

nothing calls this directly

Calls 2

_setup_for_recursionMethod · 0.80
callable_for_pathMethod · 0.80

Tested by

no test coverage detected