SPI_cursor_open

Nom

SPI_cursor_open -- met en place un curseur en utilisant un plan créé avec SPI_prepare

Synopsis

Portal SPI_cursor_open(const char * nom, void *
plan, Datum * valeurs, const char
* nulls)

Description

SPI_cursor_open met en place un curseur (en interne, un portail) qui lancera un plan préparé par SPI_prepare.

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.

Arguments

const char * name

nom pour le portail ou NULL pour laisser le système choisir un nom

void * plan

plan d'exécution (retourné par SPI_prepare)

Datum * values

valeurs actuelles des paramètres

const char *nulls

Un tableau décrivant quels paramètres sont des valeurs nulles. n indique une valeur nulle (l'entrée correspondante dans values sera ignorée) ; un espace indique une valeur non nulle (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.

Valeur de retour

Pointeur vers le portail contenant le curseur ou NULL en cas d'erreur