Redrock Postgres 搜索 英文
版本: 14 / 15 / 16 / 17

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_cursorSPI_cursor_open_with_paramlist 相比较,只不过查询字符串中的参数引用是通过提供一个 ParamListInfo 对象来处理的。

对于一次性查询执行,此函数应优于后面紧跟 SPI_cursor_open_with_paramlistSPI_prepare_cursor。如果同一命令使用许多不同的参数执行,任一方法都可能是更快的,具体取决于重新规划的成本与自定义规划的优势。

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报告。