mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-92206: Move pysqlite_step() to Modules/_sqlite/cursor.c (#92207)
This commit is contained in:
parent
39e6b8ae6a
commit
e846fe3fc1
3 changed files with 14 additions and 16 deletions
|
@ -454,6 +454,18 @@ get_statement_from_cache(pysqlite_Cursor *self, PyObject *operation)
|
|||
return PyObject_Vectorcall(cache, args + 1, nargsf, NULL);
|
||||
}
|
||||
|
||||
static inline int
|
||||
stmt_step(sqlite3_stmt *statement)
|
||||
{
|
||||
int rc;
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
rc = sqlite3_step(statement);
|
||||
Py_END_ALLOW_THREADS
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
_pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation, PyObject* second_argument)
|
||||
{
|
||||
|
@ -570,7 +582,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* operation
|
|||
goto error;
|
||||
}
|
||||
|
||||
rc = pysqlite_step(self->statement->st);
|
||||
rc = stmt_step(self->statement->st);
|
||||
if (rc != SQLITE_DONE && rc != SQLITE_ROW) {
|
||||
if (PyErr_Occurred()) {
|
||||
/* there was an error that occurred in a user-defined callback */
|
||||
|
@ -799,7 +811,7 @@ pysqlite_cursor_iternext(pysqlite_Cursor *self)
|
|||
if (row == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
int rc = pysqlite_step(stmt);
|
||||
int rc = stmt_step(stmt);
|
||||
if (rc == SQLITE_DONE) {
|
||||
(void)pysqlite_statement_reset(self->statement);
|
||||
}
|
||||
|
|
|
@ -24,18 +24,6 @@
|
|||
#include "module.h"
|
||||
#include "connection.h"
|
||||
|
||||
int
|
||||
pysqlite_step(sqlite3_stmt *statement)
|
||||
{
|
||||
int rc;
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
rc = sqlite3_step(statement);
|
||||
Py_END_ALLOW_THREADS
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
// Returns non-NULL if a new exception should be raised
|
||||
static PyObject *
|
||||
get_exception_class(pysqlite_state *state, int errorcode)
|
||||
|
|
|
@ -29,8 +29,6 @@
|
|||
#include "sqlite3.h"
|
||||
#include "connection.h"
|
||||
|
||||
int pysqlite_step(sqlite3_stmt *statement);
|
||||
|
||||
/**
|
||||
* Checks the SQLite error code and sets the appropriate DB-API exception.
|
||||
* Returns the error code (0 means no error occurred).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue