diff options
author | Jason Kirtland <jek@discorporate.us> | 2010-09-03 12:05:24 -0700 |
---|---|---|
committer | Jason Kirtland <jek@discorporate.us> | 2010-09-03 12:05:24 -0700 |
commit | f0aaeb02908677d45def8e96b8aaf88f2a9b5e3c (patch) | |
tree | 81f14eb40fd8528bd8e8e29aa2c31c8bb9e12274 /lib/sqlalchemy/orm/unitofwork.py | |
parent | fc46270f478796fe7eb98fae2ea2692a18e5a67c (diff) | |
download | sqlalchemy-f0aaeb02908677d45def8e96b8aaf88f2a9b5e3c.tar.gz |
Apply more memoization to Mapper attributes & subject to group expiry.
Diffstat (limited to 'lib/sqlalchemy/orm/unitofwork.py')
-rw-r--r-- | lib/sqlalchemy/orm/unitofwork.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/unitofwork.py b/lib/sqlalchemy/orm/unitofwork.py index e10891924..830ac3c0c 100644 --- a/lib/sqlalchemy/orm/unitofwork.py +++ b/lib/sqlalchemy/orm/unitofwork.py @@ -219,7 +219,7 @@ class UOWTransaction(object): def states_for_mapper_hierarchy(self, mapper, isdelete, listonly): checktup = (isdelete, listonly) - for mapper in mapper.base_mapper.polymorphic_iterator(): + for mapper in mapper.base_mapper.self_and_descendants: for state in self.mappers[mapper]: if self.states[state] == checktup: yield state @@ -318,11 +318,11 @@ class IterateMappersMixin(object): def _mappers(self, uow): if self.fromparent: return iter( - m for m in self.dependency_processor.parent.polymorphic_iterator() + m for m in self.dependency_processor.parent.self_and_descendants if uow._mapper_for_dep[(m, self.dependency_processor)] ) else: - return self.dependency_processor.mapper.polymorphic_iterator() + return self.dependency_processor.mapper.self_and_descendants class Preprocess(IterateMappersMixin): def __init__(self, dependency_processor, fromparent): |