[Python-checkins] bpo-41638: Improve ProgrammingError message for absent parameter. (GH-21999)

Serhiy Storchaka webhook-mailer at python.org
Fri Sep 4 13:55:50 EDT 2020


https://github.com/python/cpython/commit/81715808716198471fbca0a3db42ac408468dbc5
commit: 81715808716198471fbca0a3db42ac408468dbc5
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-09-04T20:55:41+03:00
summary:

bpo-41638: Improve ProgrammingError message for absent parameter. (GH-21999)

It contains now the name of the parameter instead of its index when parameters
are supplied as a dict.

files:
A Misc/NEWS.d/next/Library/2020-08-29-16-45-12.bpo-41638.iZfW5N.rst
M Modules/_sqlite/statement.c

diff --git a/Misc/NEWS.d/next/Library/2020-08-29-16-45-12.bpo-41638.iZfW5N.rst b/Misc/NEWS.d/next/Library/2020-08-29-16-45-12.bpo-41638.iZfW5N.rst
new file mode 100644
index 0000000000000..8ab7b5e9903dc
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-08-29-16-45-12.bpo-41638.iZfW5N.rst
@@ -0,0 +1,3 @@
+:exc:`~sqlite3.ProgrammingError` message for absent parameter in :mod:`sqlite3`
+contains now the name of the parameter instead of its index when parameters
+are supplied as a dict.
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 9de8f9b67228f..26599b423eb8b 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -295,7 +295,7 @@ void pysqlite_statement_bind_parameters(pysqlite_Statement* self, PyObject* para
             Py_DECREF(binding_name_obj);
             if (!current_param) {
                 if (!PyErr_Occurred() || PyErr_ExceptionMatches(PyExc_LookupError)) {
-                    PyErr_Format(pysqlite_ProgrammingError, "You did not supply a value for binding %d.", i);
+                    PyErr_Format(pysqlite_ProgrammingError, "You did not supply a value for binding parameter :%s.", binding_name);
                 }
                 return;
             }



More information about the Python-checkins mailing list