gh-129928: Rework sqlite3 error helpers (#129929)

Add a helper for raising DB-API compatible exceptions based on the
result code of SQLite C APIs. Some APIs do not store the error indicator
on the database pointer, so we need to be able to deduce the DB-API
compatible exception directly from the error code.

- rename _pysqlite_seterror() as set_error_from_db()
- introduce set_error_from_code()
This commit is contained in:
Erlend E. Aasland 2025-02-11 08:49:25 +01:00 committed by GitHub
parent 3a2e7aacf6
commit 3b366a4a4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 41 additions and 30 deletions

View file

@ -62,7 +62,7 @@ pysqlite_statement_create(pysqlite_Connection *connection, PyObject *sql)
Py_END_ALLOW_THREADS
if (rc != SQLITE_OK) {
_pysqlite_seterror(state, db);
set_error_from_db(state, db);
return NULL;
}