SPI_saveplan

SPI_saveplan — guarda una sentencia preparada

Synopsis

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

Descripción

SPI_saveplan copia una sentencia pasada (preparada por SPI_prepare) en memoria que no será liberada por SPI_finish ni por el administrador de transacciones, y devuelve un puntero a la sentencia copiada. Esto le permite reutilizar sentencias preparadas en las invocaciones posteriores de su función C en la sesión actual.

Argumentos

SPIPlanPtr plan

la sentencia preparada a guardar

Valor de retorno

Puntero a la sentencia copiada; o NULL si no tiene éxito. En caso de error, SPI_result se establece de la siguiente manera:

SPI_ERROR_ARGUMENT

si plan es NULL o no es válido

SPI_ERROR_UNCONNECTED

si se llama desde una función C no conectada

Notas

La sentencia originalmente pasada no se libera, por lo que es posible que desee ejecutar SPI_freeplan en ella para evitar fugas de memoria hasta SPI_finish.

En la mayoría de los casos, se prefiere SPI_keepplan a esta función, ya que logra en gran medida el mismo resultado sin necesidad de copiar físicamente las estructuras de datos de la sentencia preparada.