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 比此函数更合适,因 为它基本能达到相同效果,同时无需实际复制该预备语句的数据结构。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。