SPI_saveplan — guarda una sentencia preparada
SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)
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.
SPIPlanPtr planla sentencia preparada a guardar
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_UNCONNECTEDsi se llama desde una función C no conectada
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.