[Python-checkins] bpo-44326: Remove unused members from pysqlite_Statement (GH-26564)

pablogsal webhook-mailer at python.org
Sun Jun 6 18:12:20 EDT 2021


https://github.com/python/cpython/commit/0d12f245523178eb62e22f5da5a276bfc7004ac4
commit: 0d12f245523178eb62e22f5da5a276bfc7004ac4
branch: main
author: Erlend Egeberg Aasland <erlend.aasland at innova.no>
committer: pablogsal <Pablogsal at gmail.com>
date: 2021-06-06T23:12:07+01:00
summary:

bpo-44326: Remove unused members from pysqlite_Statement (GH-26564)

* Remove unused db member of pysqlite_Statement

* Remove unused sql method from statement object

files:
M Modules/_sqlite/statement.c
M Modules/_sqlite/statement.h

diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index f12ef67d261c7..5c38b4607b428 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -84,9 +84,7 @@ pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql)
         return NULL;
     }
 
-    self->db = connection->db;
     self->st = NULL;
-    self->sql = Py_NewRef(sql);
     self->in_use = 0;
     self->is_dml = 0;
     self->in_weakreflist = NULL;
@@ -110,7 +108,7 @@ pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql)
     }
 
     Py_BEGIN_ALLOW_THREADS
-    rc = sqlite3_prepare_v2(self->db,
+    rc = sqlite3_prepare_v2(connection->db,
                             sql_cstr,
                             (int)sql_cstr_len + 1,
                             &self->st,
@@ -120,7 +118,7 @@ pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql)
     PyObject_GC_Track(self);
 
     if (rc != SQLITE_OK) {
-        _pysqlite_seterror(self->db);
+        _pysqlite_seterror(connection->db);
         goto error;
     }
 
@@ -409,23 +407,14 @@ stmt_dealloc(pysqlite_Statement *self)
         Py_END_ALLOW_THREADS
         self->st = 0;
     }
-    tp->tp_clear((PyObject *)self);
     tp->tp_free(self);
     Py_DECREF(tp);
 }
 
-static int
-stmt_clear(pysqlite_Statement *self)
-{
-    Py_CLEAR(self->sql);
-    return 0;
-}
-
 static int
 stmt_traverse(pysqlite_Statement *self, visitproc visit, void *arg)
 {
     Py_VISIT(Py_TYPE(self));
-    Py_VISIT(self->sql);
     return 0;
 }
 
@@ -507,7 +496,6 @@ static PyType_Slot stmt_slots[] = {
     {Py_tp_members, stmt_members},
     {Py_tp_dealloc, stmt_dealloc},
     {Py_tp_traverse, stmt_traverse},
-    {Py_tp_clear, stmt_clear},
     {0, NULL},
 };
 
diff --git a/Modules/_sqlite/statement.h b/Modules/_sqlite/statement.h
index e8c86a0ec963f..b06f6155e15c2 100644
--- a/Modules/_sqlite/statement.h
+++ b/Modules/_sqlite/statement.h
@@ -32,9 +32,7 @@
 typedef struct
 {
     PyObject_HEAD
-    sqlite3* db;
     sqlite3_stmt* st;
-    PyObject* sql;
     int in_use;
     int is_dml;
     PyObject* in_weakreflist; /* List of weak references */



More information about the Python-checkins mailing list