diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-08-29 16:32:08 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-08-29 16:32:08 -0400 |
commit | 41a3e1fd99f651e4a3f534c57d18ad56241fd790 (patch) | |
tree | 442acc2977f95cf05dcd7666869117893dc6df68 | |
parent | 8155138e0aac09c3c78d2eb9b3e06cc092ce42d3 (diff) | |
download | sqlalchemy-41a3e1fd99f651e4a3f534c57d18ad56241fd790.tar.gz |
- need to use safe_discard() at least in _restore_snapshot(), let's use it
everywhere in Session since the optimized one only applies to loading
-rw-r--r-- | lib/sqlalchemy/orm/session.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 52873eb34..13afcb357 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -269,7 +269,7 @@ class SessionTransaction(object): del s.key for s, (oldkey, newkey) in self._key_switches.items(): - self.session.identity_map.discard(s) + self.session.identity_map.safe_discard(s) s.key = oldkey self.session.identity_map.replace(s) @@ -1394,7 +1394,7 @@ class Session(_SessionClassMethods): self._new.pop(state) state._detach() elif self.identity_map.contains_state(state): - self.identity_map.discard(state) + self.identity_map.safe_discard(state) self._deleted.pop(state, None) state._detach() elif self.transaction: @@ -1464,7 +1464,7 @@ class Session(_SessionClassMethods): if self._enable_transaction_accounting and self.transaction: self.transaction._deleted[state] = True - self.identity_map.discard(state) + self.identity_map.safe_discard(state) self._deleted.pop(state, None) state.deleted = True |