SPI_connect

SPI_connect, SPI_connect_ext — conecta una función en C al gestor SPI

Synopsis

int SPI_connect(void)
int SPI_connect_ext(int options)

Descripción

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).

Valor de retorno

SPI_OK_CONNECT

en 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).