Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Avance rapide | Suivant |
Portal SPI_cursor_open(const char * name, void * plan, Datum * values, const char * nulls, bool read_only)
SPI_cursor_open
met en place un curseur (en interne,
un portail) qui lancera un plan préparé par
SPI_prepare
. Les paramètres ont la même signification
que les paramètres correspondant à SPI_execute_plan
.
Utiliser un curseur au lieu de lancer le plan directement a deux avantages. Premièrement, les lignes de résultats peuvent être récupérées un certain nombre à la fois, évitant la saturation de mémoire pour les requêtes qui retournent trop de lignes. Deuxièmement, un portail peut survivre à la procédure courante (elle peut, en fait, vivre jusqu'à la fin de la transaction courante). Renvoyer le nom du portail à l'appelant de la procédure donne un moyen de retourner une série de ligne en tant que résultat.
nom pour le portail ou NULL pour laisser le système choisir un nom
plan d'exécution (retourné par SPI_prepare
)
Un tableau des valeurs de paramètres actuelles. Doit avoir la même longueur que le nombre d'arguments du plan.
Un tableau décrivant quels paramètres sont NULL. Doit avoir la même longueur que le nombre d'arguments du plan. n indique une valeur NULL (l'entrée correspondante dans values sera ignorée) ; un espace indique une valeur non NULL (l'entrée correspondante dans valeurs est valide).
Si nulls est NULL, alors
SPI_cursor_open
part du principe qu'aucun paramètre
n'est nul.
true pour les exécutions en lecture seule
Précédent | Sommaire | Suivant |
SPI_execp | Niveau supérieur | SPI_cursor_find |