diff options
Diffstat (limited to 'src/pl/plpython/plpy_elog.c')
-rw-r--r-- | src/pl/plpython/plpy_elog.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/src/pl/plpython/plpy_elog.c b/src/pl/plpython/plpy_elog.c index 25930f99d78..15cc444af8e 100644 --- a/src/pl/plpython/plpy_elog.c +++ b/src/pl/plpython/plpy_elog.c @@ -141,7 +141,7 @@ PLy_elog_impl(int elevel, const char *fmt,...) (constraint_name) ? err_generic_string(PG_DIAG_CONSTRAINT_NAME, constraint_name) : 0)); } - PG_CATCH(); + PG_FINALLY(); { if (fmt) pfree(emsg.data); @@ -151,19 +151,8 @@ PLy_elog_impl(int elevel, const char *fmt,...) pfree(tbmsg); Py_XDECREF(exc); Py_XDECREF(val); - - PG_RE_THROW(); } PG_END_TRY(); - - if (fmt) - pfree(emsg.data); - if (xmsg) - pfree(xmsg); - if (tbmsg) - pfree(tbmsg); - Py_XDECREF(exc); - Py_XDECREF(val); } /* |