diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-03-01 16:09:11 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-03-01 16:09:11 -0500 |
| commit | 79cbd377a62d291103aa0e378f0665e2e09185b2 (patch) | |
| tree | a9aaebe8daeef5f0b4bb4f229a75ffeaad007051 /lib/sqlalchemy/orm/interfaces.py | |
| parent | c5edbc6fdc611d3c812735d83fe056fbb7d113f5 (diff) | |
| download | sqlalchemy-79cbd377a62d291103aa0e378f0665e2e09185b2.tar.gz | |
- squash-merge the final row_proc integration branch. this is
a much more modest outcome than what we started with. The
work of create_row_processor() for ColumnProperty objects
is essentially done at query setup time combined with some
lookups in _instance_processor().
- to allow this change for deferred columns, deferred columns
no longer search for themselves in the result. If they've been
set up as deferred without any explicit directive to undefer them,
then this is what was asked for. if we don't do this,
then we're stuck with this performance penalty for all deferred
columns which in the vast majority of typical use cases (e.g. loading
large, legacy tables or tables with many/large very seldom
used values) won't be present in the result and won't be accessed at all.
Diffstat (limited to 'lib/sqlalchemy/orm/interfaces.py')
| -rw-r--r-- | lib/sqlalchemy/orm/interfaces.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/interfaces.py b/lib/sqlalchemy/orm/interfaces.py index b3b8d612d..cd9fa150e 100644 --- a/lib/sqlalchemy/orm/interfaces.py +++ b/lib/sqlalchemy/orm/interfaces.py @@ -488,7 +488,8 @@ class StrategizedProperty(MapperProperty): def _get_strategy_by_cls(self, cls): return self._get_strategy(cls._strategy_keys[0]) - def setup(self, context, entity, path, adapter, **kwargs): + def setup( + self, context, entity, path, adapter, **kwargs): loader = self._get_context_loader(context, path) if loader and loader.strategy: strat = self._get_strategy(loader.strategy) |
