Kaydet (Commit) fe70d924 authored tarafından Berker Peksag's avatar Berker Peksag Kaydeden (comit) GitHub

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

Patch by Aviv Palivoda.
üst ed6795e4
...@@ -927,14 +927,6 @@ By default, the :mod:`sqlite3` module opens transactions implicitly before a ...@@ -927,14 +927,6 @@ By default, the :mod:`sqlite3` module opens transactions implicitly before a
Data Modification Language (DML) statement (i.e. Data Modification Language (DML) statement (i.e.
``INSERT``/``UPDATE``/``DELETE``/``REPLACE``). ``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 You can control which kind of ``BEGIN`` statements sqlite3 implicitly executes
(or none at all) via the *isolation_level* parameter to the :func:`connect` (or none at all) via the *isolation_level* parameter to the :func:`connect`
call, or via the :attr:`isolation_level` property of connections. 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" ...@@ -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", statement, or set it to one of SQLite's supported isolation levels: "DEFERRED",
"IMMEDIATE" or "EXCLUSIVE". "IMMEDIATE" or "EXCLUSIVE".
The current transaction state is exposed through the
:attr:`Connection.in_transaction` attribute of the connection object.
.. versionchanged:: 3.6 .. versionchanged:: 3.6
:mod:`sqlite3` used to implicitly commit an open transaction before DDL :mod:`sqlite3` used to implicitly commit an open transaction before DDL
statements. This is no longer the case. statements. This is no longer the case.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment