summaryrefslogtreecommitdiff
path: root/Modules/_sqlite/statement.h
diff options
context:
space:
mode:
authorErlend Egeberg Aasland <erlend.aasland@innova.no>2021-06-03 18:38:09 +0200
committerGitHub <noreply@github.com>2021-06-03 18:38:09 +0200
commit84d80f5f30b1f545083c70a7d4e1e79ab75f9fa6 (patch)
tree1874fc537dde6821c40fdfafe54dd0b6a59e84e7 /Modules/_sqlite/statement.h
parent41317801a95c758c3fc04c4fb332ac453c9e3ad3 (diff)
downloadcpython-git-84d80f5f30b1f545083c70a7d4e1e79ab75f9fa6.tar.gz
[3.10] bpo-42972: Track sqlite3 statement objects (GH-26475) (GH-26515)
Allocate and track statement objects in pysqlite_statement_create. By allocating and tracking creation of statement object in pysqlite_statement_create(), the caller does not need to worry about GC syncronization, and eliminates the possibility of getting a badly created object. All related fault handling is moved to pysqlite_statement_create(). Co-authored-by: Victor Stinner <vstinner@python.org>. (cherry picked from commit fffa0f92adaaed0bcb3907d982506f78925e9052) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
Diffstat (limited to 'Modules/_sqlite/statement.h')
-rw-r--r--Modules/_sqlite/statement.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/Modules/_sqlite/statement.h b/Modules/_sqlite/statement.h
index 56ff727144..e8c86a0ec9 100644
--- a/Modules/_sqlite/statement.h
+++ b/Modules/_sqlite/statement.h
@@ -29,9 +29,6 @@
#include "connection.h"
#include "sqlite3.h"
-#define PYSQLITE_TOO_MUCH_SQL (-100)
-#define PYSQLITE_SQL_WRONG_TYPE (-101)
-
typedef struct
{
PyObject_HEAD
@@ -45,7 +42,7 @@ typedef struct
extern PyTypeObject *pysqlite_StatementType;
-int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* connection, PyObject* sql);
+pysqlite_Statement *pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql);
int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObject* parameter);
void pysqlite_statement_bind_parameters(pysqlite_Statement* self, PyObject* parameters);