diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-18 13:05:20 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-18 13:05:20 -0500 |
commit | a590e5db8aece17e93371bca290d2e205528e34c (patch) | |
tree | 4b4dfedfb376c483f00220087dca6908b7b3b1bc /lib/sqlalchemy/orm | |
parent | 182fc1a7c6fcb39593fed982b3e40de59712ec99 (diff) | |
download | sqlalchemy-a590e5db8aece17e93371bca290d2e205528e34c.tar.gz |
trivial inlinings
Diffstat (limited to 'lib/sqlalchemy/orm')
-rw-r--r-- | lib/sqlalchemy/orm/properties.py | 3 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/session.py | 1 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/unitofwork.py | 9 |
3 files changed, 6 insertions, 7 deletions
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 1b144ea74..da6d309e0 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -821,8 +821,7 @@ class RelationshipProperty(StrategizedProperty): dest_dict, obj, None) def cascade_iterator(self, type_, state, dict_, visited_states, halt_on=None): - if not type_ in self.cascade: - return + #assert type_ in self.cascade # only actively lazy load on the 'delete' cascade if type_ != 'delete' or self.passive_deletes: diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index ba1a38bb9..a3714bc7e 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -1136,6 +1136,7 @@ class Session(object): # grab the cascades before adding the item to the deleted list # so that autoflush does not delete the item + # the strong reference to the instance itself is significant here cascade_states = list(_cascade_state_iterator('delete', state)) self._deleted[state] = state.obj() diff --git a/lib/sqlalchemy/orm/unitofwork.py b/lib/sqlalchemy/orm/unitofwork.py index 17b73e5f9..ba43b1359 100644 --- a/lib/sqlalchemy/orm/unitofwork.py +++ b/lib/sqlalchemy/orm/unitofwork.py @@ -16,7 +16,6 @@ from sqlalchemy import util from sqlalchemy.util import topological from sqlalchemy.orm import attributes, interfaces from sqlalchemy.orm import util as mapperutil -from sqlalchemy.orm.util import _state_mapper session = util.importlater("sqlalchemy.orm", "session") class UOWEventHandler(interfaces.AttributeExtension): @@ -37,7 +36,7 @@ class UOWEventHandler(interfaces.AttributeExtension): sess = session._state_session(state) if sess: - prop = _state_mapper(state)._props[self.key] + prop = state.manager.mapper._props[self.key] item_state = attributes.instance_state(item) if prop.cascade.save_update and \ (prop.cascade_backrefs or self.key == initiator.key) and \ @@ -48,7 +47,7 @@ class UOWEventHandler(interfaces.AttributeExtension): def remove(self, state, item, initiator): sess = session._state_session(state) if sess: - prop = _state_mapper(state)._props[self.key] + prop = state.manager.mapper._props[self.key] # expunge pending orphans item_state = attributes.instance_state(item) if prop.cascade.delete_orphan and \ @@ -64,7 +63,7 @@ class UOWEventHandler(interfaces.AttributeExtension): sess = session._state_session(state) if sess: - prop = _state_mapper(state)._props[self.key] + prop = state.manager.mapper._props[self.key] if newvalue is not None: newvalue_state = attributes.instance_state(newvalue) if prop.cascade.save_update and \ @@ -204,7 +203,7 @@ class UOWTransaction(object): return False if state not in self.states: - mapper = _state_mapper(state) + mapper = state.manager.mapper if mapper not in self.mappers: mapper._per_mapper_flush_actions(self) |