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 * commandcommand string
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 被忽略。