]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
created rel_0_7 branch
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 24 Apr 2012 22:29:40 +0000 (18:29 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 24 Apr 2012 22:29:40 +0000 (18:29 -0400)
test/orm/test_transaction.py

index 8029cd2b21ef23ef2b01580e0bee76804bcd9b7b..516cb69f8b6c629e7cab1573303f5cba133a7471 100644 (file)
@@ -121,6 +121,26 @@ class SessionTransactionTest(FixtureTest):
 
         assert s2.query(User).all() == []
 
+    @testing.requires.savepoints
+    def test_rollback_ignores_clean_on_savepoint(self):
+        User, users = self.classes.User, self.tables.users
+
+        mapper(User, users)
+
+        s = Session(bind=testing.db)
+        u1 = User(name='u1')
+        u2 = User(name='u2')
+        s.add_all([u1, u2])
+        s.commit()
+        u1.name
+        u2.name
+        s.begin_nested()
+        u2.name = 'u2modified'
+        s.rollback()
+        assert 'name' not in u1.__dict__
+        assert 'name' not in u2.__dict__
+        eq_(u2.name, 'u2')
+
     @testing.requires.two_phase_transactions
     def test_twophase(self):
         users, Address, addresses, User = (self.tables.users,