This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the
current
version, or one of the other supported versions listed above instead.
Name
SPI_finish -- Disconnects your procedure
from the SPI manager.
Synopsis
SPI_finish(void)
Outputs
- int
-
SPI_OK_FINISH
if properly disconnected |
SPI_ERROR_UNCONNECTED if
called from an un-connected procedure |
Description
SPI_finish closes an existing
connection to the Postgres
backend. You should call this function after completing
operations through the SPI manager.
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.
Usage
SPI_finish must be called as a final step by a connected
procedure or you may get unpredictable results! Note that you can
safely skip the call to SPI_finish if
you abort the transaction (via elog(ERROR)).
Algorithm
SPI_finish performs the
following:
- •
-
Disconnects your procedure from the SPI manager and
frees all memory allocations made by your procedure via
palloc since the SPI_connect. These allocations can't be
used any more! See Memory management.