SPI_connect

SPI_connect, SPI_connect_ext — conecta uma função escrita em C ao gerenciador SPI

Sinopse

int SPI_connect(void)
int SPI_connect_ext(int options)

Descrição

A função SPI_connect abre uma conexão de uma chamada de função C para o gerenciador SPI. É necessário chamar esta função se for desejado executar comandos por meio da SPI. Algumas funções utilitárias da SPI podem ser chamadas a partir de funções C não conectadas.

A função SPI_connect_ext faz o mesmo, mas possui um argumento que permite passar sinalizadores de opção. No momento, estão disponíveis os seguintes valores de opção:

SPI_OPT_NONATOMIC

Define a conexão SPI como não atômica, significando que são permitidas chamadas de controle de transação (SPI_commit, SPI_rollback). Caso contrário, chamar estas funções resultará em erro imediato.

SPI_connect() equivale a SPI_connect_ext(0).

Valor retornado

SPI_OK_CONNECT

no caso de sucesso

O fato dessas funções retornarem int e não void é histórico. Todos os casos de falha são relatados através de ereport ou elog. (Em versões anteriores ao PostgreSQL v10, algumas falhas, mas não todas, seriam relatadas com um valor de resultado de SPI_ERROR_CONNECT.)