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 的返回值报告。)