Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

SPI_saveplan

SPI_saveplan — 保存已准备好的语句

大纲

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

说明

SPI_saveplan 将传递的语句(由 SPI_prepare 准备)复制到不会由 SPI_finish 或事务管理器释放的内存中,并返回对已复制语句的指针。这样一来,您就可以在当前会话中重复使用已准备好的语句的后续调用中。

参数

plan SPIPlanPtr

要保存的预准备语句

返回值

指向已复制语句的指针;或在不成功时返回 NULL。在错误情况下,SPI_result 会设置如下所示

SPI_ERROR_ARGUMENT

如果 planNULL 或无效

SPI_ERROR_UNCONNECTED

如果从未连接的 C 函数调用

注意

最初传入的语句并未释放,因此您可能希望对其执行 SPI_freeplan 以避免在 SPI_finish 之前泄漏内存。

在大多数情况下,SPI_keepplan 比此函数优先,因为它在很大程度上实现相同的结果,而无需物理复制预准备语句的数据结构。