Thread: SPI_exec() + PG_TRY/PG_CATCH

SPI_exec() + PG_TRY/PG_CATCH

From
"Aleksandrs Vinogradovs"
Date:

Guys,


So I haven't got my question answered, thus trying it again ;)

How do I handle SPI errors properly without rethrowing them or
using subtransactions ? My current code works (simple PG_CATCH()
with resseting of error state), but reports reference leaks for
every failed SPI_exec() call...

Thanks!


Best regards,
Alex Vinogradovs

Re: SPI_exec() + PG_TRY/PG_CATCH

From
Tom Lane
Date:
"Aleksandrs Vinogradovs" <avinogradovs@Clearpathnet.com> writes:
> How do I handle SPI errors properly without rethrowing them or
> using subtransactions ?

Those are your only two choices.

> My current code works (simple PG_CATCH()
> with resseting of error state), but reports reference leaks for
> every failed SPI_exec() call...

The warnings are the least of your worries.  Without a subxact abort,
there is all sorts of state that has not been properly cleaned up.

            regards, tom lane