SPI_saveplan

Nom

SPI_saveplan -- sauvegarde un plan

Synopsis

void * SPI_saveplan(void * plan)

Description

SPI_saveplan sauvegarde un plan validé (préparé par SPI_prepare) dans une zone de mémoire protégée d'une éventuelle libération par SPI_finish et par le gestionnaire de transactions et retourne le pointeur vers le plan sauvegardé. Ceci vous donne la possibilité de réutiliser les plans préparés lors des invocations suivantes de votre procédure dans la session courante. Vous pouvez sauvegarder le pointeur retourné dans une variable locale. Vérifiez toujours si ce pointeur est NULL ou pas lors de la préparation d'un plan où lors de l'utilisation d'un plan déjà préparé dans SPI_execp.

Arguments

void * plan

le plan à sauvegarder

Valeur de retour

Pointeur vers le plan sauvegardé ; NULL en cas d'échec. En cas d'erreur, SPI_result est positionnée comme suit :

SPI_ERROR_ARGUMENT

si plan est NULL

SPI_ERROR_UNCONNECTED

si appelé d'une procédure non connectée

Notes

Si l'un des objets (une table, une fonction, etc.) référencés par le plan préparé est effacé pendant la session, alors le résultat de SPI_execp pour ce plan sera imprévisible.