From ce9d61be9b76b93809263d43d679279bd2efd2ec Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 11 Feb 2013 21:10:55 -0500 Subject: [PATCH] see also for session commit, rollback --- doc/build/orm/session.rst | 4 ++++ lib/sqlalchemy/orm/session.py | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/build/orm/session.rst b/doc/build/orm/session.rst index 52119df74d..37314cf4cb 100644 --- a/doc/build/orm/session.rst +++ b/doc/build/orm/session.rst @@ -780,6 +780,8 @@ required after a flush fails, even though the underlying transaction will have been rolled back already - this is so that the overall nesting pattern of so-called "subtransactions" is consistently maintained. +.. _session_committing: + Committing ---------- @@ -818,6 +820,8 @@ model to some degree since the :class:`~sqlalchemy.orm.session.Session` behaves in exactly the same way with regard to attribute state, except no transaction is present. +.. _session_rollback: + Rolling Back ------------ diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 27c84cc4e4..00c6d4227f 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -655,6 +655,10 @@ class Session(_SessionClassMethods): to the first real transaction are closed. Subtransactions occur when begin() is called multiple times. + .. seealso:: + + :ref:`session_rollback` + """ if self.transaction is None: pass @@ -678,11 +682,16 @@ class Session(_SessionClassMethods): multiple times), the subtransaction will be closed, and the next call to ``commit()`` will operate on the enclosing transaction. - For a session configured with autocommit=False, a new transaction will + When using the :class:`.Session` in its default mode of + ``autocommit=False``, a new transaction will be begun immediately after the commit, but note that the newly begun transaction does *not* use any connection resources until the first SQL is actually emitted. + .. seealso:: + + :ref:`session_committing` + """ if self.transaction is None: if not self.autocommit: -- 2.47.2