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 *values
Un tableau des vraies valeurs des paramètres. Doit avoir la même longueur que le nombre d'arguments de la requête.
const char * nulls
Un 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.