SPI_saveplan — sauvegarde une requête préparée
SPIPlanPtr SPI_saveplan(SPIPlanPtr plan
)
SPI_saveplan
copie une instruction passée (préparée par
SPI_prepare
) en mémoire qui ne serait pas libérée par
SPI_finish
ou par le gestionnaire de transactions, et
renvoie un pointeur vers l'instruction copiée. Cela vous donne la possibilité
de réutiliser des instructions préparées dans les appels suivants de votre
fonction C dans la session courante.
SPIPlanPtr plan
la requête préparée à sauvegarder
Pointeur vers la requête copiée ; NULL
en cas d'échec.
En cas d'erreur, SPI_result
est positionnée comme
suit :
SPI_ERROR_ARGUMENT
si plan
est NULL
ou invalide
SPI_ERROR_UNCONNECTED
si appelé d'une fonction C non connectée
La requête passée n'est pas libérée, donc vous pouvez souhaiter exécuter
SPI_freeplan
sur ce dernier pour éviter des pertes
mémoire jusqu'à SPI_finish
.
Dans la plupart des cas, SPI_keepplan
est préférée à
cette fonction car elle accomplit largement le même résultat sans avoir
besoin de copier physiquement la structure de données des instructions
préparées.