SPI_prepare_cursor — 预备一个语句,但是不执行它
SPIPlanPtr SPI_prepare_cursor(const char *command
, intnargs
, Oid *argtypes
, intcursorOptions
)
SPI_prepare_cursor
和
SPI_prepare
一样,不过它也允许说明规划器的
“游标选项”参数。这是一个位掩码,它的值如
nodes/parsenodes.h
中
DeclareCursorStmt
的options
域所示。
SPI_prepare
总是把该游标选项取做零。
这个参数现在被弃用,用SPI_prepare_extended
代替。
const char * command
命令字符串
int nargs
输入参数($1
、$2
等等)的数量
Oid * argtypes
一个数组指针,它指向的数组包含参数的数据类型的 OID
int cursorOptions
整数形式的游标选项位掩码,零会导致默认行为
SPI_prepare_cursor
具有和
SPI_prepare
一样的返回习惯。
在cursorOptions
设置的有用的位包括
CURSOR_OPT_SCROLL
、
CURSOR_OPT_NO_SCROLL
、
CURSOR_OPT_FAST_PLAN
、
CURSOR_OPT_GENERIC_PLAN
以及
CURSOR_OPT_CUSTOM_PLAN
。
注意CURSOR_OPT_HOLD
被特别地忽略。