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 比此函数更可取,因为它在很大程度上实现了相同的结果,而无需实际复制预处理语句的数据结构。
如果您发现文档中有任何不正确、与您使用特定功能的经验不符或需要进一步澄清的地方,请使用此表单报告文档问题。