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
  
  .