SPI_cursor_open_with_args — ouvre un curseur en utilisant une requête et des paramètres
Portal SPI_cursor_open_with_args(const char *name, const char *command, int nargs, Oid *argtypes, Datum *values, const char *nulls, bool read_only, int cursorOptions)
SPI_cursor_open_with_args initialise un curseur (en interne, un portail) qui exécutera la requête spécifié. La plupart des paramètres ont la même signification que les paramètres correspondant de SPI_prepare_cursor et SPI_cursor_open.
Pour une exécution seule, cette fonction sera préférée à SPI_prepare_cursor suivie de SPI_cursor_open. Si la même commande doit être exécutée avec plusieurs paramètres différents, il n'y a pas de différences sur les deux méthode, la replanification a un coût mais bénéficie de plans personnalisés.
Les données passées seront copiées dans le portail du curseur, donc elles seront libérées alors que le curseur existe toujours.
nom du portail, ou NULL pour que le système sélectionne un nom de lui-même
chaîne de commande
nombre de paramètres en entrée ($1, $2, etc.)
un tableau de longueur nargs, contenant les OID des types de données des paramètres
un tableau de longueur nargs, contenant les valeurs actuelles des paramètres
un tableau de longueur nargs, décrivant les paramètres NULL
Si nulls vaut NULL, alors SPI_cursor_open_with_args 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'.
true pour une exécution en lecture seule
masque de bits des options du curseur : zéro cause le comportement par défaut