bpo-29121: Remove outdated documentation about transactions (#313) (#319)

Patch by Aviv Palivoda.

(cherry picked from commit fe70d924bb)
This commit is contained in:
Berker Peksag 2017-02-26 19:04:00 +03:00 committed by GitHub
parent 1457984c00
commit 893e86e9d3
1 changed files with 3 additions and 8 deletions

View 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.