summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/build/orm/session.rst12
1 files changed, 4 insertions, 8 deletions
diff --git a/doc/build/orm/session.rst b/doc/build/orm/session.rst
index ea811aab4..867f78a86 100644
--- a/doc/build/orm/session.rst
+++ b/doc/build/orm/session.rst
@@ -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: