SPI_connect, SPI_connect_ext — connect a C function to the SPI manager
int SPI_connect(void)
int SPI_connect_ext(int options)
SPI_connect opens a connection from a
C function invocation to the SPI manager. You must call this
function if you want to execute commands through SPI. Some utility
SPI functions can be called from unconnected C functions.
SPI_connect_ext does the same but has an argument that
allows passing option flags. Currently, the following option values are
available:
SPI_OPT_NONATOMIC
Sets the SPI connection to be nonatomic, which
means that transaction control calls (SPI_commit,
SPI_rollback) are allowed. Otherwise,
calling those functions will result in an immediate error.
SPI_connect() is equivalent to
SPI_connect_ext(0).
SPI_OK_CONNECTon success
The fact that these functions return int
not void is historical. All failure cases are reported
via ereport or elog.
(In versions before PostgreSQL v10,
some but not all failures would be reported with a result value
of SPI_ERROR_CONNECT.)