| PostgreSQL 8.3.23 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
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.