SPI_push
Description
SPI_push
should be called before
executing another procedure that might itself wish to use SPI.
After SPI_push
, SPI is no longer in
a "connected" state, and SPI function
calls will be rejected unless a fresh SPI_connect
is done. This ensures a clean
separation between your procedure's SPI state and that of another
procedure you call. After the other procedure returns, call
SPI_pop
to restore access to your
own SPI state.
Note that SPI_execute
and
related functions automatically do the equivalent of SPI_push
before passing control back to the SQL
execution engine, so it is not necessary for you to worry about
this when using those functions. Only when you are directly
calling arbitrary code that might contain SPI_connect
calls do you need to issue
SPI_push
and SPI_pop
.