SPI_prepare_cursor — prepara uma instrução, sem executá-la ainda
SPIPlanPtr SPI_prepare_cursor(const char *command, intnargs, Oid *argtypes, intcursorOptions)
A função SPI_prepare_cursor é idêntica à função
SPI_prepare, exceto por também permitir a
especificação do parâmetro “cursorOptions” do planejador.
Este parâmetro é uma máscara de bits com os valores mostrados no arquivo
nodes/parsenodes.h para o campo
options da estrutura
DeclareCursorStmt.
A função SPI_prepare sempre considera as opções
do cursor como zero.
Esta função está agora em obsolescência em favor da função
SPI_prepare_extended.
const char * commandcadeia de caracteres de comando
int nargs
número de parâmetros de entrada
($1, $2, etc.)
Oid * argtypesponteiro para uma matriz contendo os OIDs dos tipos de dados dos parâmetros
int cursorOptionsnúmero inteiro, máscara de bits das opções do cursor; zero produz o comportamento padrão
A função SPI_prepare_cursor tem as mesmas
convenções de retorno que a função SPI_prepare.
Os bits úteis para definir em cursorOptions
incluem CURSOR_OPT_SCROLL,
CURSOR_OPT_NO_SCROLL,
CURSOR_OPT_FAST_PLAN,
CURSOR_OPT_GENERIC_PLAN, e
CURSOR_OPT_CUSTOM_PLAN.
Note em particular que CURSOR_OPT_HOLD é ignorado.