预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。
SPI_prepare_extended
SPI_prepare_extended — 准备一个语句,但暂不执行
大纲
SPIPlanPtr SPI_prepare_extended(const char *command, const SPIPrepareOptions *options)
描述
SPI_prepare_extended 为指定命令创建并返回一个预备语句,但并不执行该命令。它相当于 SPI_prepare,并额外允许调用者指定选项,以控制外部参数引用的解析,以及查询解析和规划的其他方面。
参数
const char *command命令字符串
const SPIPrepareOptions *options包含可选参数的结构体
调用者应始终先将整个 options 结构体清零,然后再填写想设置的字段。这样可以保证代码的前向兼容性,因为未来添加到该结构体中的任何字段,都会被定义为在取零值时保持向后兼容。当前可用的
options 字段如下:
ParserSetupHookparserSetup解析器钩子设置函数
void *parserSetupArg传递给
parserSetup的透传参数RawParseModeparseMode原始解析模式;
RAW_PARSE_DEFAULT(零)表示默认行为intcursorOptions整数形式的游标选项位掩码,零会导致默认行为
返回值
SPI_prepare_extended 的返回约定与
SPI_prepare 相同。