SPI_connect, SPI_connect_ext — 把一个 C 函数连接到 SPI 管理器
int SPI_connect(void)
int SPI_connect_ext(int options)
SPI_connect 打开从一次 C 函数调用到 SPI
管理器的连接。
如果您想通过 SPI 执行命令,必须调用这个函数。
一些实用工具 SPI 函数可以在未连接的 C 函数中被调用。
SPI_connect_ext 做同样的事情,但有一个允许
传递选项标志的参数。
目前,可用的选项值有:
SPI_OPT_NONATOMIC
把 SPI 连接设置为
非原子的,
这意味着允许事务控制调用
(
SPI_commit、
SPI_rollback)。
否则,调用这些函数会导致立即报错。
SPI_connect() 等价于
SPI_connect_ext(0)。
SPI_OK_CONNECT表示成功
这些函数返回
int 而非
void 是历史原因。
所有失败情形都通过
ereport 或
elog 报告。
(在 PostgreSQL v10 之前的版本中,
一些(但非全部)失败会以
SPI_ERROR_CONNECT 的结果值报告。)