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 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, CURSOR_OPT_FAST_PLAN, CURSOR_OPT_GENERIC_PLAN, and CURSOR_OPT_CUSTOM_PLAN. Note in particular that CURSOR_OPT_HOLD is ignored. 

