]> granicus.if.org Git - python/commitdiff
Remove creation of a list for row_cast_map in pysqlite_cursor_init() (GH-8494)
authorSergey Fedoseev <fedoseev.sergey@gmail.com>
Mon, 30 Jul 2018 21:11:50 +0000 (02:11 +0500)
committerBerker Peksag <berker.peksag@gmail.com>
Mon, 30 Jul 2018 21:11:50 +0000 (00:11 +0300)
This list is never used: if detect_types is on, this list will be
replaced with another one before row_cast_map is used, if
detect_types is off, row_cast_map is not used at all.

Modules/_sqlite/cursor.c

index 70b304f4e3fbb84bd5316bca4c3419183e19d6e0..c62ad5d64eecc1c570ffdc50ed3a06470ca6a03b 100644 (file)
@@ -42,11 +42,7 @@ static int pysqlite_cursor_init(pysqlite_Cursor* self, PyObject* args, PyObject*
     Py_XSETREF(self->connection, connection);
     Py_CLEAR(self->statement);
     Py_CLEAR(self->next_row);
-
-    Py_XSETREF(self->row_cast_map, PyList_New(0));
-    if (!self->row_cast_map) {
-        return -1;
-    }
+    Py_CLEAR(self->row_cast_map);
 
     Py_INCREF(Py_None);
     Py_XSETREF(self->description, Py_None);
@@ -253,6 +249,7 @@ PyObject* _pysqlite_fetch_one_row(pysqlite_Cursor* self)
 
     for (i = 0; i < numcols; i++) {
         if (self->connection->detect_types) {
+            assert(self->row_cast_map != NULL);
             converter = PyList_GetItem(self->row_cast_map, i);
             if (!converter) {
                 converter = Py_None;