Índice
SPI_prepareSPI_prepareSPI_prepare puder ser usada por
SPI_cursor_openSPI_prepareSPI_prepareSPI_prepareSPI_prepareSPI_execute ou uma função semelhanteA interface de programação servidor (Server Programming Interface/SPI) dá aos desenvolvedores de funções C definidas pelo usuário a capacidade de executar comandos SQL dentro de suas funções ou procedimentos. A SPI é um conjunto de funções de interface para simplificar o acesso ao analisador, planejador e executor. A SPI também faz algum gerenciamento de memória.
As linguagens procedurais disponíveis fornecem vários meios para executar comandos SQL a partir de funções. A maioria desses recursos é baseado na SPI, portanto esta documentação também pode ser útil para os usuários dessas linguagens.
Note que se um comando chamado via SPI falhar, o controle não será retornado para a função C. Em vez disso, a transação ou subtransação na qual a função C é executada será desfeita. (Isto pode parecer surpreendente, visto que a maioria das funções da SPI possui convenções de retorno de erro documentadas. No entanto, estas convenções se aplicam apenas a erros detectados pelas próprias funções da SPI.) É possível recuperar o controle após um erro estabelecendo uma subtransação própria em torno das chamadas à SPI que podem falhar.
As funções da SPI retornam um resultado não
negativo em caso de sucesso (por meio de um valor inteiro retornado,
ou na variável global SPI_result, conforme
descrito abaixo).
Em caso de erro, será retornado um resultado negativo ou
NULL.
Os arquivos de código-fonte que usam a SPI devem
incluir o arquivo de cabeçalho executor/spi.h.