]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
even simpler
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 15 Jan 2014 20:22:11 +0000 (15:22 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 15 Jan 2014 20:22:11 +0000 (15:22 -0500)
doc/build/orm/session.rst

index ea811aab4f3c396866d49922e6ede4f762714379..867f78a8666889470c9b0f55c0ce5c7b983aed30 100644 (file)
@@ -1727,20 +1727,16 @@ everything is rolled back.
               # bind an individual Session to the connection
               self.session = Session(bind=self.connection)
 
-              # two events make sure a SAVEPOINT is always started
-              # for this session.  After the initial "begin"...
-              @event.listens_for(self.session, "after_begin")
-              def start_savepoint(session, transaction, connection):
-                  if not transaction.nested:
-                      session.begin_nested()
+              # start the session in a SAVEPOINT...
+              self.session.begin_nested()
 
-              # ... and after the end of each "transaction", assuming
-              # the transaction ending was the "nested" transaction
+              # then each time that SAVEPOINT ends, reopen it
               @event.listens_for(self.session, "after_transaction_end")
               def restart_savepoint(session, transaction):
                   if transaction.nested and not transaction._parent.nested:
                       session.begin_nested()
 
+
           # ... the tearDown() method stays the same
 
 .. _unitofwork_contextual: