int |
_mysql__fetch_row( |
_mysql_ResultObject *self, |
PyObject **r, |
int skiprows, |
int maxrows, |
_PYFUNC *convert_row) |
{ |
unsigned int i; |
MYSQL_ROW row; |
for (i = skiprows; i<(skiprows+maxrows); i++) { |
PyObject *v; |
if (!self->use) |
row = mysql_fetch_row(self->result); |
else { |
Py_BEGIN_ALLOW_THREADS; |
row = mysql_fetch_row(self->result); |
Py_END_ALLOW_THREADS; |
} |
if (!row && mysql_errno(&(((_mysql_ConnectionObject *)(self->conn))->connection))) { |
_mysql_Exception((_mysql_ConnectionObject *)self->conn); |
goto error; |
} |
if (!row) { |
if (MyTuple_Resize(r, i, 0) == -1) goto error; |
break; |
} |
v = convert_row(self, row); |
if (!v) goto error; |
PyTuple_SET_ITEM(*r, i, v); |
} |
return i-skiprows; |
error: |
return -1; |
} |
when taking True path
when considering range: -0x80000000 <= value <= -1
taking False path
releasing the GIL by calling PyEval_SaveThread()
reacquiring the GIL by calling PyEval_RestoreThread()
when treating unknown char * * from _mysql.c:1507 as NULL
taking True path
when treating unknown struct PyObject * from _mysql.c:1510 as non-NULL
when considering range: 1 <= value <= 0xffffffff
taking True path
when _mysql_Exception() succeeds
new ref from (unknown) _mysql_Exception was allocated at: _mysql_Exception((_mysql_ConnectionObject *)self->conn);
was expecting final owned ob_refcnt of new ref from (unknown) _mysql_Exception to be 0 since nothing references it but final ob_refcnt is refs: 1 owned
found 2 similar trace(s) to this