From 657b28e3eac20075b54a05dcc73e6d21c1197fea Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Tue, 3 May 2022 14:05:56 -0600 Subject: [PATCH] gh-92206: Improve scoping of sqlite3 statement helper --- Modules/_sqlite/cursor.c | 10 ++++++++-- Modules/_sqlite/statement.c | 5 ----- Modules/_sqlite/statement.h | 2 -- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c index 16bceef2e50242..87fed2e46e10e4 100644 --- a/Modules/_sqlite/cursor.c +++ b/Modules/_sqlite/cursor.c @@ -754,6 +754,12 @@ bind_parameters(pysqlite_state *state, pysqlite_Statement *self, } } +static inline void +stmt_mark_dirty(pysqlite_Statement *self) +{ + self->in_use = 1; +} + PyObject * _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation, PyObject* second_argument) { @@ -844,7 +850,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation } stmt_reset(self->statement); - pysqlite_statement_mark_dirty(self->statement); + stmt_mark_dirty(self->statement); /* We start a transaction implicitly before a DML statement. SELECT is the only exception. See #9924. */ @@ -863,7 +869,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation break; } - pysqlite_statement_mark_dirty(self->statement); + stmt_mark_dirty(self->statement); bind_parameters(state, self->statement, parameters); if (PyErr_Occurred()) { diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c index d0a404f13b200a..f9cb70f0ef146c 100644 --- a/Modules/_sqlite/statement.c +++ b/Modules/_sqlite/statement.c @@ -116,11 +116,6 @@ pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql) return NULL; } -void pysqlite_statement_mark_dirty(pysqlite_Statement* self) -{ - self->in_use = 1; -} - static void stmt_dealloc(pysqlite_Statement *self) { diff --git a/Modules/_sqlite/statement.h b/Modules/_sqlite/statement.h index 88d56779854beb..5e61227424bafa 100644 --- a/Modules/_sqlite/statement.h +++ b/Modules/_sqlite/statement.h @@ -39,8 +39,6 @@ typedef struct pysqlite_Statement *pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql); -void pysqlite_statement_mark_dirty(pysqlite_Statement* self); - int pysqlite_statement_setup_types(PyObject *module); #endif