]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-89022: Improve sqlite3 exceptions related to binding params and API misuse (#91572)
authorErlend Egeberg Aasland <erlend.aasland@protonmail.com>
Wed, 4 May 2022 13:16:01 +0000 (07:16 -0600)
committerGitHub <noreply@github.com>
Wed, 4 May 2022 13:16:01 +0000 (07:16 -0600)
commit090819ec5faea2d0c2cdf6bcfdbbc9df144a8aad
tree71881b44e7ffb8eaa92dcdfc88a6ad037bc057d9
parentd716a0dfe2d1029111db393afaecdb04cc4093de
gh-89022: Improve sqlite3 exceptions related to binding params and API misuse (#91572)

* Map SQLITE_MISUSE to sqlite3.InterfaceError

SQLITE_MISUSE implies misuse of the SQLite C API, which, if it happens,
is _not_ a user error; it is an sqlite3 extension module error.

* Raise better errors when binding parameters fail.

Instead of always raising InterfaceError, guessing what went wrong,
raise accurate exceptions with more accurate error messages.
Lib/test/test_sqlite3/test_dbapi.py
Lib/test/test_sqlite3/test_types.py
Misc/NEWS.d/next/Library/2022-04-15-17-06-09.gh-issue-89022.DgdQCa.rst [new file with mode: 0644]
Modules/_sqlite/cursor.c
Modules/_sqlite/util.c