SPI_execute_plan — exécute une requête préparée par
SPI_prepare
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
SPI_execute_plan exécute une requête préparée par
SPI_prepare ou une fonction du même type.
read_only et
count ont la même interprétation que dans
SPI_execute.
SPIPlanPtr plan
requête préparée (retournée par SPI_prepare)
Datum *valuesUn tableau des vraies valeurs des paramètres. Doit avoir la même longueur que le nombre d'arguments de la requête.
const char * nullsUn tableau décrivant les paramètres nuls. Doit avoir la même longueur que le nombre d'arguments de la requête.
Si nulls vaut NULL, alors
SPI_execute_plan suppose qu'aucun paramètre
n'est NULL. Dans le cas contraire, chaque entrée du tableau
nulls doit valoir ' ' si
le paramètre correspondant est non NULL et 'n' si le
paramètre correspondant est NULL (dans ce dernier cas, la valeur réelle
de l'entrée values correspondante n'a pas
d'importance). Notez que nulls n'est pas une chaîne
de texte. C'est un tableau et, de ce fait, il n'a pas besoin d'un
caractère de fin '\0'.
bool read_only
true pour une exécution en lecture seule
long count
nombre maximum de lignes à renvoyer ou 0 pour aucune
ligne à renvoyer
La valeur de retour est la même que pour SPI_execute
avec les résultats d'erreurs (négatif) possibles :
SPI_ERROR_ARGUMENT
si plan est NULL ou invalide
ou count est inférieur à 0
SPI_ERROR_PARAM
si values est NULL et
plan est préparé avec des paramètres
SPI_processed et
SPI_tuptable sont positionnés comme dans
SPI_execute en cas de réussite.