Skip to content

Commit 22fdb3d

Browse files
author
Erlend E. Aasland
committed
Squeeze error handlers
1 parent d5b816d commit 22fdb3d

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

Modules/_sqlite/connection.c

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -815,17 +815,15 @@ final_callback(sqlite3_context *context)
815815
Py_DECREF(function_result);
816816
}
817817
if (!ok) {
818-
const char *attr_msg = "user-defined aggregate's 'finalize' method "
819-
"not defined";
820-
const char *err_msg = "user-defined aggregate's 'finalize' method "
821-
"raised error";
822818
int attr_err = PyErr_ExceptionMatches(PyExc_AttributeError);
823819
_PyErr_ChainExceptions(exception, value, tb);
824820

825821
/* Note: contrary to the step, value, and inverse callbacks, SQLite
826822
* does not, as of SQLite 3.38.0, propagate errors to sqlite3_step()
827823
* from the finalize callback. */
828-
set_sqlite_error(context, attr_err ? attr_msg : err_msg);
824+
set_sqlite_error(context, attr_err
825+
? "user-defined aggregate's 'finalize' method not defined"
826+
: "user-defined aggregate's 'finalize' method raised error");
829827
}
830828
else {
831829
PyErr_Restore(exception, value, tb);
@@ -1048,12 +1046,10 @@ value_callback(sqlite3_context *context)
10481046

10491047
PyObject *res = PyObject_CallMethodNoArgs(*cls, ctx->state->str_value);
10501048
if (res == NULL) {
1051-
const char *attr_msg = "user-defined aggregate's 'value' method "
1052-
"not defined";
1053-
const char *err_msg = "user-defined aggregate's 'value' method "
1054-
"raised error";
10551049
int attr_err = PyErr_ExceptionMatches(PyExc_AttributeError);
1056-
set_sqlite_error(context, attr_err ? attr_msg : err_msg);
1050+
set_sqlite_error(context, attr_err
1051+
? "user-defined aggregate's 'value' method not defined"
1052+
: "user-defined aggregate's 'value' method raised error");
10571053
}
10581054
else {
10591055
int rc = _pysqlite_set_result(context, res);

0 commit comments

Comments
 (0)