diff options
| author | Berker Peksag <berker.peksag@gmail.com> | 2016-09-11 12:57:15 +0300 |
|---|---|---|
| committer | Berker Peksag <berker.peksag@gmail.com> | 2016-09-11 12:57:15 +0300 |
| commit | ab994ed8b97e1b0dac151ec827c857f5e7277565 (patch) | |
| tree | d497b41e76a441931ac06430f44332497eaaa083 /Doc/library/sqlite3.rst | |
| parent | bd48d27944453ad83d3ce37b2c867fa0d59a1c15 (diff) | |
| download | cpython-git-ab994ed8b97e1b0dac151ec827c857f5e7277565.tar.gz | |
Issue #10740: sqlite3 no longer implicitly commit an open transaction before DDL statements
This commit contains the following commits from ghaering/pysqlite:
* https://github.com/ghaering/pysqlite/commit/f254c534948c41c0ceb8cbabf0d4a2f547754739
* https://github.com/ghaering/pysqlite/commit/796b3afe38cfdac5d7d5ec260826b0a596554631
* https://github.com/ghaering/pysqlite/commit/cae87ee68613697a5f4947b4a0941f59a28da1b6
* https://github.com/ghaering/pysqlite/commit/3567b31bb5e5b226ba006213a9c69dde3f155faf
With the following additions:
* Fixed a refcount error
* Fixed a compiler warning
* Made the string comparison a little more robust
* Added a whatsnew entry
Diffstat (limited to 'Doc/library/sqlite3.rst')
| -rw-r--r-- | Doc/library/sqlite3.rst | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index d5d6e6b700..76693bd43c 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -925,9 +925,7 @@ Controlling Transactions By default, the :mod:`sqlite3` module opens transactions implicitly before a Data Modification Language (DML) statement (i.e. -``INSERT``/``UPDATE``/``DELETE``/``REPLACE``), and commits transactions -implicitly before a non-DML, non-query statement (i. e. -anything other than ``SELECT`` or the aforementioned). +``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 @@ -947,6 +945,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". +.. versionchanged:: 3.6 + :mod:`sqlite3` used to implicitly commit an open transaction before DDL + statements. This is no longer the case. Using :mod:`sqlite3` efficiently |
