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, intnargs, Oid *argtypes, Datum *values, const char *nulls, boolread_only, intcursorOptions)
                     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.
const char * name
                        nom du portail, ou NULL pour que le système sélectionne
                        un nom de lui-même
                       
const char * commandchaîne de commande
int nargs
                        nombre de paramètres en entrée ($1,
                        $2, etc.)
                       
Oid * argtypes
                        un tableau de longueur nargs, contenant les
                        OID des types de données des paramètres
                       
Datum * values
                        un tableau de longueur nargs, contenant les valeurs
                        actuelles des paramètres
                       
const char * nulls
                        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'.
                       
bool read_only
                        true pour une exécution en lecture seule
                       
int cursorOptionsmasque de bits des options du curseur : zéro cause le comportement par défaut
                     Pointeur du portail contenant le curseur. Notez qu'il n'y a pas de convention
                     pour le renvoi des erreurs ; toute erreur sera rapportée par
                     elog.