SPI_prepare_cursor — 预备一个语句,但是不执行它
SPIPlanPtr SPI_prepare_cursor(const char * command
, int nargs
,
Oid * argtypes
, int cursorOptions
)
SPI_prepare_cursor
和 SPI_prepare
一样,不过它也允许说明规划器的 “游标选项”参数。这是一个位掩码,它的值如 nodes/parsenodes.h
中 DeclareCursorStmt
的
options
域所示。 SPI_prepare
总是把该游标选项取做零。
const char * command
命令字符串
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
被特别地忽略。
SPI_palloc — 在上层执行器上下文中分配内存大纲void * SPI_palloc(Size size)描述 SPI_palloc在上层的执行器上下文中分配内存...
SPI_freeplan — 释放一个之前保存的预备语句大纲int SPI_freeplan(SPIPlanPtr plan)描述 SPI_freeplan释放一个之前由 SPI_prepa...
PostgreSQL可以被扩展来在独立进程中运行用户提供的代码。这种进程被postgres启动、停止和监控,这使它们的生命期与服务器的状态...
可以为逻辑解码增加更多输出方法。详情可见 src/backend/replication/logical/logicalfuncs.c。 本质上,需要提供三个函数:一个...
ALTER CONVERSION — 改变一个转换的定义大纲ALTER CONVERSION name RENAME TO new_nameALTER CONVERSION name OWNER TO { new_o...