PostgreSQLLa base de données la plus sophistiquée au monde.

Version anglaise

SPI_saveplan

SPI_saveplan — sauvegarde un plan

Synopsis

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

Description

SPI_saveplan sauvegarde un plan validé (préparé par SPI_prepare) dans une zone de mémoire qui ne sera pas libérée 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.

Arguments

SPIPlanPtr 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 ou invalide

SPI_ERROR_UNCONNECTED

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

Notes

Le plan passé n'est pas libéré, donc vous pouvez souhaiter exécuter SPI_freeplan sur ce dernier pour éviter des pertes mémoire jusqu'à SPI_finish.

Si l'un des objets (une table, une fonction, etc.) référencés par le plan préparé est supprimé ou redéfini, alors les exécutions futures de SPI_execute_plan pourrait échouer ou renvoyer des résultats différents de ce que le plan indique initialement.