mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
gh-92206: Improve scoping of sqlite3 statement helper (#92260)
This commit is contained in:
parent
27e3665715
commit
6b7dcc5607
3 changed files with 8 additions and 9 deletions
|
@ -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()) {
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue