SPI_prepare_cursor
SPI_prepare_cursor — prepare a statement, without executing it yet
Synopsis
SPIPlanPtr SPI_prepare_cursor(const char *command, intnargs, Oid *argtypes, intcursorOptions)
Description
SPI_prepare_cursor is identical toSPI_prepare, except that it also allows specification of the planner's“cursor options” parameter. This is a bit mask having the values shown innodes/parsenodes.h for theoptions field ofDeclareCursorStmt.SPI_prepare always takes the cursor options as zero.
Arguments
const char *commandcommand string
intnargsnumber of input parameters (
$1,$2, etc.)Oid *argtypespointer to an array containing theOIDs of the data types of the parameters
intcursorOptionsinteger bit mask of cursor options; zero produces default behavior
Return Value
SPI_prepare_cursor has the same return conventions asSPI_prepare.
Notes
Useful bits to set incursorOptions includeCURSOR_OPT_SCROLL,CURSOR_OPT_NO_SCROLL,CURSOR_OPT_FAST_PLAN,CURSOR_OPT_GENERIC_PLAN, andCURSOR_OPT_CUSTOM_PLAN. Note in particular thatCURSOR_OPT_HOLD is ignored.