SPI_saveplan — 保存已准备的语句
SPIPlanPtr SPI_saveplan(SPIPlanPtr plan
)
SPI_saveplan
将已传递的语句(由 SPI_prepare
准备)复制到不会被 SPI_finish
或事务管理器释放的内存中,并返回指向已复制语句的指针。这使您能够在当前会话中 C 函数的后续调用中重用已准备的语句。
SPIPlanPtr plan
要保存的已准备好的语句
指向已复制语句的指针;如果失败,则为 NULL
。如果出错,SPI_result
设置为以下内容
SPI_ERROR_ARGUMENT
如果 plan
为 NULL
或无效
SPI_ERROR_UNCONNECTED
如果从未连接的 C 函数调用
最初传递的语句不会被释放,因此你可能希望对其执行 SPI_freeplan
,以避免在 SPI_finish
之前泄漏内存。
在大多数情况下,SPI_keepplan
比此函数更受青睐,因为它在不需要物理复制已准备语句的数据结构的情况下实现了大致相同的结果。