bpo-1635741: sqlite3 uses Py_NewRef/Py_XNewRef (GH-23170) · python/cpython@bf64d90
@@ -271,8 +271,7 @@ _pysqlite_fetch_one_row(pysqlite_Cursor* self)
271271nbytes = sqlite3_column_bytes(self->statement->st, i);
272272val_str = (const char*)sqlite3_column_blob(self->statement->st, i);
273273if (!val_str) {
274-Py_INCREF(Py_None);
275-converted = Py_None;
274+converted = Py_NewRef(Py_None);
276275 } else {
277276item = PyBytes_FromStringAndSize(val_str, nbytes);
278277if (!item)
@@ -285,8 +284,7 @@ _pysqlite_fetch_one_row(pysqlite_Cursor* self)
285284coltype = sqlite3_column_type(self->statement->st, i);
286285Py_END_ALLOW_THREADS
287286if (coltype == SQLITE_NULL) {
288-Py_INCREF(Py_None);
289-converted = Py_None;
287+converted = Py_NewRef(Py_None);
290288 } else if (coltype == SQLITE_INTEGER) {
291289converted = PyLong_FromLongLong(sqlite3_column_int64(self->statement->st, i));
292290 } else if (coltype == SQLITE_FLOAT) {
@@ -402,8 +400,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
402400403401if (PyIter_Check(second_argument)) {
404402/* iterator */
405-Py_INCREF(second_argument);
406-parameters_iter = second_argument;
403+parameters_iter = Py_NewRef(second_argument);
407404 } else {
408405/* sequence */
409406parameters_iter = PyObject_GetIter(second_argument);
@@ -456,8 +453,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
456453if (!func_args) {
457454 goto error;
458455 }
459-Py_INCREF(operation);
460-if (PyTuple_SetItem(func_args, 0, operation) != 0) {
456+if (PyTuple_SetItem(func_args, 0, Py_NewRef(operation)) != 0) {
461457 goto error;
462458 }
463459@@ -555,12 +551,12 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
555551 goto error;
556552 }
557553PyTuple_SetItem(descriptor, 0, column_name);
558-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 1, Py_None);
559-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 2, Py_None);
560-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 3, Py_None);
561-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 4, Py_None);
562-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 5, Py_None);
563-Py_INCREF(Py_None); PyTuple_SetItem(descriptor, 6, Py_None);
554+PyTuple_SetItem(descriptor, 1, Py_NewRef(Py_None));
555+PyTuple_SetItem(descriptor, 2, Py_NewRef(Py_None));
556+PyTuple_SetItem(descriptor, 3, Py_NewRef(Py_None));
557+PyTuple_SetItem(descriptor, 4, Py_NewRef(Py_None));
558+PyTuple_SetItem(descriptor, 5, Py_NewRef(Py_None));
559+PyTuple_SetItem(descriptor, 6, Py_NewRef(Py_None));
564560PyTuple_SetItem(self->description, i, descriptor);
565561 }
566562 }
@@ -610,8 +606,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
610606self->rowcount = -1L;
611607return NULL;
612608 } else {
613-Py_INCREF(self);
614-return (PyObject*)self;
609+return Py_NewRef((PyObject *)self);
615610 }
616611}
617612@@ -706,8 +701,7 @@ pysqlite_cursor_executescript(pysqlite_Cursor* self, PyObject* args)
706701if (PyErr_Occurred()) {
707702return NULL;
708703 } else {
709-Py_INCREF(self);
710-return (PyObject*)self;
704+return Py_NewRef((PyObject *)self);
711705 }
712706}
713707