diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-18 22:33:53 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-18 22:33:53 +0000 |
commit | 7efd23b23cbbd1d714cc31e44e776b7e1e9af319 (patch) | |
tree | 9785dee17451fb928446af8034ce8ceabfe74a09 /lib/sqlalchemy | |
parent | d5c3eb39ca6e6738d16e8013fd5cb46b17486d5a (diff) | |
download | sqlalchemy-7efd23b23cbbd1d714cc31e44e776b7e1e9af319.tar.gz |
- fixed critical issue when, after options(eagerload()) is used,
the mapper would then always apply query "wrapping" behavior
for all subsequent LIMIT/OFFSET/DISTINCT queries, even if no
eager loading was applied on those subsequent queries.
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/orm/interfaces.py | 4 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/strategies.py | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/interfaces.py b/lib/sqlalchemy/orm/interfaces.py index 5c6a92325..358e1297f 100644 --- a/lib/sqlalchemy/orm/interfaces.py +++ b/lib/sqlalchemy/orm/interfaces.py @@ -149,8 +149,8 @@ class StrategizedProperty(MapperProperty): except KeyError: # cache the located strategy per class for faster re-lookup strategy = cls(self) - strategy.init() strategy.is_default = False + strategy.init() self._all_strategies[cls] = strategy return strategy @@ -282,7 +282,7 @@ class LoaderStrategy(object): def init(self): self.parent = self.parent_property.parent self.key = self.parent_property.key - + def init_class_attribute(self): pass diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py index e9d992d18..ee80b3477 100644 --- a/lib/sqlalchemy/orm/strategies.py +++ b/lib/sqlalchemy/orm/strategies.py @@ -317,7 +317,8 @@ class EagerLoader(AbstractRelationLoader): "to child class '%s': Cant use eager loading on a self " "referential relationship." % (self.key, repr(self.parent.class_), repr(self.mapper.class_))) - self.parent._eager_loaders.add(self.parent_property) + if self.is_default: + self.parent._eager_loaders.add(self.parent_property) self.clauses = {} self.clauses_by_lead_mapper = {} |