From b9461c120f9753f457a6d8be4e27f6bdf1a8f16e Mon Sep 17 00:00:00 2001 From: Erlend Egeberg Aasland Date: Wed, 19 May 2021 09:05:48 +0200 Subject: [PATCH] bpo-30593: Doc'ed that executescript() disregards isolation level (GH-26220) (cherry picked from commit 901443757333a66ff2b5c85eba30dc1c48eac321) Co-authored-by: Erlend Egeberg Aasland --- Doc/library/sqlite3.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index d0f28db12fda16..f9e4c8a269027b 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -648,7 +648,8 @@ Cursor Objects This is a nonstandard convenience method for executing multiple SQL statements at once. It issues a ``COMMIT`` statement first, then executes the SQL script it - gets as a parameter. + gets as a parameter. This method disregards :attr:`isolation_level`; any + transation control must be added to *sql_script*. *sql_script* can be an instance of :class:`str`. @@ -1048,6 +1049,9 @@ setting :attr:`isolation_level` to ``None``. This will leave the underlying control the transaction state by explicitly issuing ``BEGIN``, ``ROLLBACK``, ``SAVEPOINT``, and ``RELEASE`` statements in your code. +Note that :meth:`~Cursor.executescript` disregards +:attr:`isolation_level`; any transaction control must be added explicitly. + .. versionchanged:: 3.6 :mod:`sqlite3` used to implicitly commit an open transaction before DDL statements. This is no longer the case.