Updated patch attached.  The previous (v2) patch apparently didn't apply
anymore.

Second patch applies cleanly, compiles, "make check" ok.

As I do not know much about the SPI stuff, some of the comments below may be very stupid.

I'm wary of changing the SPI_commit and SPI_rollback interfaces which are certainly being used outside the source tree and could break countless code, and it seems quite unclean that commit and rollback would do anything else but committing or rollbacking.

ISTM that it should be kept as is and only managed from the PL/pgsql exec_stmt_* functions, which have to be adapted anyway. That would minimise changes and not break existing code.

If SPI_* functions are modified, which I would advise against, I find keeping the next assignment in the chained case doubtful:

        _SPI_current->internal_xact = false;

--
Fabien.

Reply via email to