SPI_prepare_cursor — prepare a statement, without executing it yet
SPIPlanPtr SPI_prepare_cursor(const char *command
, intnargs
, Oid *argtypes
, intcursorOptions
)
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.
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
SPI_prepare_cursor
has the same return conventions as SPI_prepare
.
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.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.