登录
SPI_cursor_parse_open
SPI_cursor_parse_open — 使用查询字符串和参数设置游标
概要
Portal SPI_cursor_parse_open(const char *name,
const char *command,
const SPIParseOpenOptions * options)
说明
SPI_cursor_parse_open
设置一个游标(在内部,一个门户),它将执行指定的查询字符串。这类似于SPI_prepare_cursor
然后是SPI_cursor_open_with_paramlist
,不同之处在于查询字符串中的参数引用完全通过提供ParamListInfo
对象来处理。
对于一次性查询执行,此函数应优先于SPI_prepare_cursor
然后是SPI_cursor_open_with_paramlist
。如果要使用许多不同的参数执行相同的命令,则两种方法都可能更快,具体取决于重新规划的成本与自定义计划的好处的比较。
*options->params
*对象通常应使用PARAM_FLAG_CONST
标志标记每个参数,因为查询始终使用一次性计划。
传入的参数数据将被复制到游标的门户中,因此可以在游标仍然存在时释放它。
参数
const char *
name
门户名称,或
NULL
以让系统选择名称const char *
command
命令字符串
const SPIParseOpenOptions *
options
包含可选参数的结构
调用者应始终将整个*options
结构清零,然后填充他们想要设置的任何字段。这确保了代码的前向兼容性,因为将来添加到结构中的任何字段都将被定义为在为零时向后兼容。当前可用的options
*字段是
ParamListInfo
params
包含查询参数类型和值的数据结构;如果无,则为 NULL
int
cursorOptions
游标选项的整数位掩码;零产生默认行为
bool
read_only
true
表示只读执行
返回值
指向包含游标的门户的指针。请注意,没有错误返回约定;任何错误都将通过elog
报告。