SPI_prepare_cursor — prépare une requête, sans l'exécuter pour l'instant
SPIPlanPtr SPI_prepare_cursor(const char *command
, intnargs
, Oid *argtypes
, intcursorOptions
)
SPI_prepare_cursor
est identique à
SPI_prepare
, sauf qu'il permet aussi la spécification
du paramètre des « options du curseur » du planificateur. Il
s'agit d'un champ de bits dont les valeurs sont indiquées dans
nodes/parsenodes.h
pour le champ
options
de DeclareCursorStmt
.
SPI_prepare
utilise zéro pour les options du curseur.
const char * command
chaîne commande
int nargs
nombre de paramètres en entrée ($1
, $2
, etc.)
Oid * argtypes
pointeur vers un tableau contenant l'OID des types de données des paramètres
int cursorOptions
champ de bits précisant les options du curseur ; zéro est le comportement par défaut
SPI_prepare_cursor
a les mêmes conventions pour la
valeur de retour que SPI_prepare
.
Les bits utiles pour cursorOptions
incluent
CURSOR_OPT_NO_SCROLL
,
CURSOR_OPT_FAST_PLAN
,
CURSOR_OPT_GENERIC_PLAN
et
CURSOR_OPT_CUSTOM_PLAN
. Notez en particulier que
CURSOR_OPT_HOLD
est ignoré.