PostgreSQL

PostgreSQL Elephant Logo

SPI_prepare_cursor

SPI_prepare_cursor — prepare a statement, 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 “[.quote]#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.


Prev Up Next

SPI_prepare

Home

SPI_prepare_params

Copyright © 1996-2023 The PostgreSQL Global Development Group