Table of Contents
SPI_prepareSPI_preparetrue si una sentencia
preparada por SPI_prepare se puede utilizar con
SPI_cursor_openSPI_prepareSPI_prepareSPI_prepareSPI_prepareSPI_execute o una función similarLa Interfaz de Programación del Servidor (SPI, por sus siglas en inglés) ofrece a los desarrolladores de funciones en C definidas por el usuario la capacidad de ejecutar comandos SQL dentro de sus funciones o procedimientos. SPI es un conjunto de funciones de interfaz para simplificar el acceso al parser, planificador (planner) y ejecutor. SPI también realiza cierta gestión de memoria.
Los lenguajes procedimentales disponibles proporcionan diversos medios para ejecutar comandos SQL desde funciones. La mayoría de estas facilidades se basan en SPI, por lo que esta documentación también podría ser de utilidad para los usuarios de dichos lenguajes.
Tenga en cuenta que si un comando invocado a través de SPI falla, el control no se devolverá a su función en C. En su lugar, la transacción o subtransacción en la que se ejecuta su función en C se revertirá (rollback). (Esto puede parecer sorprendente dado que las funciones de SPI en su mayoría tienen convenciones documentadas de retorno de error. Sin embargo, esas convenciones solo se aplican para errores detectados dentro de las propias funciones de SPI). Es posible recuperar el control después de un error estableciendo su propia subtransacción alrededor de las llamadas de SPI que podrían fallar.
Las funciones de SPI devuelven un resultado no negativo en
caso de éxito (ya sea mediante un valor entero devuelto o en la variable
global SPI_result, como se describe a continuación). En
caso de error, se devolverá un resultado negativo o NULL.
Los archivos de código fuente que utilizan SPI deben incluir el archivo de cabecera
executor/spi.h.