]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-44326: Remove unused members from pysqlite_Statement (GH-26564)
authorErlend Egeberg Aasland <erlend.aasland@innova.no>
Sun, 6 Jun 2021 22:12:07 +0000 (00:12 +0200)
committerGitHub <noreply@github.com>
Sun, 6 Jun 2021 22:12:07 +0000 (23:12 +0100)
* Remove unused db member of pysqlite_Statement

* Remove unused sql method from statement object

Modules/_sqlite/statement.c
Modules/_sqlite/statement.h

index f12ef67d261c742d6f8080981517222b3d676530..5c38b4607b428f878ded62be0dcdb67add5bf9b5 100644 (file)
@@ -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},
 };
 
index e8c86a0ec963fdc9dd292d621d92c8c5116cf803..b06f6155e15c2f9a60c698770f0bc130ffe43e10 100644 (file)
@@ -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 */