Обсуждение: SPI_exec() + PG_TRY/PG_CATCH

Поиск
Список
Период
Сортировка

SPI_exec() + PG_TRY/PG_CATCH

От
"Aleksandrs Vinogradovs"
Дата:

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

От
Tom Lane
Дата:
"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