# SPI_光标_打开_和_参数
SPI_光标_打开_和_args — 使用查询和参数设置游标
# 概要
Portal SPI_cursor_open_with_args(const char *name,
const char *command,
int nargs, Oid *argtypes,
Datum *values, const char *nulls,
bool read_only, int cursorOptions)
# 描述
SPI_cursor_open_with_args
设置将执行指定查询的游标(内部为门户)。大部分参数与对应的参数含义相同SPI_prepare_cursor
和SPI_cursor_open
.
对于一次性查询执行,此功能应优先于SPI_prepare_cursor
其次是SPI_cursor_open
.如果要使用许多不同的参数执行相同的命令,则任何一种方法都可能更快,这取决于重新计划的成本与自定义计划的好处。
传入的参数数据将被复制到游标的门户中,因此可以在游标仍然存在时将其释放。
现在不推荐使用此功能,取而代之的是SPI_cursor_parse_open
,它使用更现代的 API 来处理查询参数提供等效功能。
# 论据
常量字符 * *
姓名*
门户名称,或空值
让系统选择一个名字
常量字符 * *
命令*
命令字符串
整数 *
纳尔格斯*
输入参数的数量(1美元
,2美元
, 等等。)
好* *
参数类型*
长度数组*纳尔格斯
*, 包含参数数据类型的 OID
基准 * *
价值观*
长度数组*纳尔格斯
*,包含实际参数值
常量字符 * *
空值*
长度数组*纳尔格斯
*,描述哪些参数为空
如果*空值
是空值
然后SPI_cursor_open_with_args
假定没有参数为空。否则,每个条目空值
数组应该是' '
如果相应的参数值不为空,或者'n'
如果对应的参数值为空。(在后一种情况下,对应的实际值价值观
输入无关紧要。)请注意空值
*不是文本字符串,只是一个数组:它不需要'\0'
终结者。
布尔 *
只读*
真的
用于只读执行
整数 *
光标选项*
光标选项的整数位掩码;零产生默认行为
# 返回值
指向包含光标的门户的指针。注意没有错误返回约定;任何错误都会通过elog
.