collection wouldn't be cleared of expunged
states, raising an error if they later
became transient [ticket:2182].
Also in 0.6.8.
auto-increment correctly; [ticket:2170].
Also in 0.6.8.
+ - Fixed bug where transaction-level "deleted"
+ collection wouldn't be cleared of expunged
+ states, raising an error if they later
+ became transient [ticket:2182].
+ Also in 0.6.8.
+
- sql
- Fixed bug whereby metadata.reflect(bind)
would close a Connection passed as a
self.identity_map.discard(state)
self._deleted.pop(state, None)
state.detach()
+ elif self.transaction:
+ self.transaction._deleted.pop(state, None)
def _register_newly_persistent(self, state):
mapper = _state_mapper(state)
sess.flush()
assert u1 in sess
+ def test_make_transient_plus_rollback(self):
+ # test for [ticket:2182]
+ users, User = self.tables.users, self.classes.User
+
+ mapper(User, users)
+ sess = Session()
+ u1 = User(name='test')
+ sess.add(u1)
+ sess.commit()
+
+ sess.delete(u1)
+ sess.flush()
+ make_transient(u1)
+ sess.rollback()
+
def test_deleted_flag(self):
users, User = self.tables.users, self.classes.User