The question is whether there is any way to know that some Postgres API call such as SPI (or others) did not return but instead triggered an elog(ERROR).
The context is the implementation of a language handler (plandl for Andl) with the possibility of re-entrant calls to functions. I would like to be able to recover from Postgres errors, but that’s quite difficult if I don’t know that one has happened, particularly if it happens inside a nested call that needs to be unwound.
Any suggestions appreciated.
Regards
David M Bennett FACS
Andl - A New Database Language - andl.org