aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Modules/_sqlite/cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_sqlite/cursor.c')
-rw-r--r--Modules/_sqlite/cursor.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index cbf4718365f..7844b6e26cd 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -855,7 +855,8 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation
/* We start a transaction implicitly before a DML statement.
SELECT is the only exception. See #9924. */
- if (self->connection->isolation_level
+ if (self->connection->autocommit == AUTOCOMMIT_LEGACY
+ && self->connection->isolation_level
&& self->statement->is_dml
&& sqlite3_get_autocommit(self->connection->db))
{
@@ -1033,7 +1034,9 @@ pysqlite_cursor_executescript_impl(pysqlite_Cursor *self,
// Commit if needed
sqlite3 *db = self->connection->db;
- if (!sqlite3_get_autocommit(db)) {
+ if (self->connection->autocommit == AUTOCOMMIT_LEGACY
+ && !sqlite3_get_autocommit(db))
+ {
int rc = SQLITE_OK;
Py_BEGIN_ALLOW_THREADS