From 6b7dcc56072d19d3edbc905d0bb20bd0b4463d19 Mon Sep 17 00:00:00 2001 From: Erlend Egeberg Aasland Date: Tue, 3 May 2022 16:07:11 -0600 Subject: gh-92206: Improve scoping of sqlite3 statement helper (#92260) --- 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 16bceef..87fed2e 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 d0a404f..f9cb70f 100644 --- a/Modules/_sqlite/statement.c +++ b/Modules/_sqlite/statement.c @@ -116,11 +116,6 @@ error: 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 88d56779..5e61227 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 -- cgit v0.12