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 do not need to worry about making this
happen, however, if you abort the transaction via elog(ERROR). In that case SPI will clean itself up
automatically.
If SPI_finish
is called without
having a valid connection, it will return SPI_ERROR_UNCONNECTED. There is no fundamental
problem with this; it means that the SPI manager has nothing to
do.