SPI_connect, SPI_connect_ext — conecta una función en C al gestor SPI
int SPI_connect(void)
int SPI_connect_ext(int options)
SPI_connect abre una conexión desde la
invocación de una función en C al gestor SPI. Debe llamar a esta
función si desea ejecutar comandos a través de SPI. Algunas funciones
de utilidad de SPI se pueden llamar desde funciones en C no conectadas.
SPI_connect_ext hace lo mismo pero tiene un argumento que
permite pasar banderas de opción. Actualmente, están disponibles los siguientes valores de opción:
SPI_OPT_NONATOMIC
Establece la conexión SPI como no atómica (nonatomic), lo que
significa que se permiten llamadas de control de transacciones (SPI_commit,
SPI_rollback). De lo contrario,
llamar a esas funciones resultará en un error inmediato.
SPI_connect() es equivalente a
SPI_connect_ext(0).
SPI_OK_CONNECTen caso de éxito
El hecho de que estas funciones devuelvan int
y no void es histórico. Todos los casos de fallo se reportan
a través de ereport o elog.
(En versiones anteriores a PostgreSQL v10,
algunos fallos, pero no todos, se reportaban con un valor de resultado
de SPI_ERROR_CONNECT).