Greg Stark <stark(at)mit(dot)edu> writes:
> My understanding is that PG_TRY/PG_CATCH doesn't save enough state to
> avoid rethrowing errors and if you want to actually continue the
> transaction you must use a subtransaction. As a result I was under the
> impression it was mandatory to PG_RETHROW as a result.
> If that's the case then I think I just came across a bug in
> utils/adt/xml.c where there's no PG_RETHROW:
The reason we think that's OK is that we assume libxml2 does not call back
into the general backend code, so there is no PG state we'd have to undo.
regards, tom lane