]> granicus.if.org Git - python/commitdiff
bpo-29121: Remove outdated documentation about transactions (#313)
authorBerker Peksag <berker.peksag@gmail.com>
Sun, 26 Feb 2017 15:31:12 +0000 (18:31 +0300)
committerGitHub <noreply@github.com>
Sun, 26 Feb 2017 15:31:12 +0000 (18:31 +0300)
Patch by Aviv Palivoda.

Doc/library/sqlite3.rst

index 5635577da0f9465f74dd002e35f4fe15dd3400c6..d1f7a6f120620bc7ca4aa9e1a6097dc7ba9e1353 100644 (file)
@@ -927,14 +927,6 @@ By default, the :mod:`sqlite3` module opens transactions implicitly before a
 Data Modification Language (DML)  statement (i.e.
 ``INSERT``/``UPDATE``/``DELETE``/``REPLACE``).
 
-So if you are within a transaction and issue a command like ``CREATE TABLE
-...``, ``VACUUM``, ``PRAGMA``, the :mod:`sqlite3` module will commit implicitly
-before executing that command. There are two reasons for doing that. The first
-is that some of these commands don't work within transactions. The other reason
-is that sqlite3 needs to keep track of the transaction state (if a transaction
-is active or not).  The current transaction state is exposed through the
-:attr:`Connection.in_transaction` attribute of the connection object.
-
 You can control which kind of ``BEGIN`` statements sqlite3 implicitly executes
 (or none at all) via the *isolation_level* parameter to the :func:`connect`
 call, or via the :attr:`isolation_level` property of connections.
@@ -945,6 +937,9 @@ Otherwise leave it at its default, which will result in a plain "BEGIN"
 statement, or set it to one of SQLite's supported isolation levels: "DEFERRED",
 "IMMEDIATE" or "EXCLUSIVE".
 
+The current transaction state is exposed through the
+:attr:`Connection.in_transaction` attribute of the connection object.
+
 .. versionchanged:: 3.6
    :mod:`sqlite3` used to implicitly commit an open transaction before DDL
    statements.  This is no longer the case.