diff options
-rw-r--r-- | doc/build/orm/session.rst | 12 |
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: |