SPI_PREPARE_CURSOR(3)

NAME
SPI_prepare_cursor - prepare a plan for a command, without executing it yet

SYNOPSIS

SPIPlanPtr SPI_prepare_cursor(const char * command, int nargs,
                              Oid * argtypes, int cursorOptions)

DESCRIPTION

SPI_prepare_cursor is identical to SPI_prepare, except that it also allows specification of the planner's “cursor options” parameter. This is a bit mask having the values shown in nodes/parsenodes.h for the options field of DeclareCursorStmt. SPI_prepare always takes the cursor options as zero.

ARGUMENTS

const char * command
    command string

int nargs
    number of input parameters ($1, $2, etc.)

Oid * argtypes
    pointer to an array containing the OIDs of the data types of the parameters

int cursorOptions
    integer bit mask of cursor options; zero produces default behavior

RETURN VALUE

SPI_prepare_cursor has the same return conventions as SPI_prepare.

NOTES

Useful bits to set in cursorOptions include CURSOR_OPT_SCROLL, CURSOR_OPT_NO_SCROLL, and CURSOR_OPT_FAST_PLAN. Note in particular that CURSOR_OPT_HOLD is ignored.