bpo-37406: sqlite3 raises TypeError for wrong operation type (GH-14386)

The sqlite3 module now raises TypeError, rather than ValueError, if
operation argument type is not str: execute(), executemany() and
calling a connection.
This commit is contained in:
Victor Stinner 2019-06-26 03:16:24 +02:00 committed by GitHub
parent ed076ed467
commit c6a2320e87
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 11 additions and 16 deletions

View file

@ -384,12 +384,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
if (multiple) {
/* executemany() */
if (!PyArg_ParseTuple(args, "OO", &operation, &second_argument)) {
goto error;
}
if (!PyUnicode_Check(operation)) {
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
if (!PyArg_ParseTuple(args, "UO", &operation, &second_argument)) {
goto error;
}
@ -406,12 +401,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
}
} else {
/* execute() */
if (!PyArg_ParseTuple(args, "O|O", &operation, &second_argument)) {
goto error;
}
if (!PyUnicode_Check(operation)) {
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
if (!PyArg_ParseTuple(args, "U|O", &operation, &second_argument)) {
goto error;
}