提交 804d13ad 编写于 作者: P Peter Eisentraut

Fix behavior when raising plpy.Fatal()

It should cause a elog(FATAL) error, and it fact it was simply causing
a elog(ERROR).

Jan Urbański
上级 8f763243
......@@ -4381,8 +4381,13 @@ PLy_elog(int elevel, const char *fmt,...)
int position = 0;
PyErr_Fetch(&exc, &val, &tb);
if (exc != NULL && PyErr_GivenExceptionMatches(val, PLy_exc_spi_error))
PLy_get_spi_error_data(val, &detail, &hint, &query, &position);
if (exc != NULL)
{
if (PyErr_GivenExceptionMatches(val, PLy_exc_spi_error))
PLy_get_spi_error_data(val, &detail, &hint, &query, &position);
else if (PyErr_GivenExceptionMatches(val, PLy_exc_fatal))
elevel = FATAL;
}
PyErr_Restore(exc, val, tb);
xmsg = PLy_traceback(&xlevel);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册