SPI_finish closes an existing connection to the
SPI manager.
   You must call this function after completing the SPI operations needed
   during your procedure's current invocation.
   You may get the error return SPI_ERROR_UNCONNECTED if SPI_finish is
   called without having a current valid connection.
 There is no fundamental problem
   with this; it means that nothing was done by the SPI manager.
   SPI_finish must be called as a final step by a connected procedure,
 or you may get
   unpredictable results!  However, you do not need to worry about making
this happen if the transaction is aborted via elog(ERROR).  In that case
SPI will clean itself up.