受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

SPI_saveplan

SPI_saveplan — 保存一个预备语句

Synopsis

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

描述

SPI_saveplan 会把传入的预备语句(由 SPI_prepare 准备)复制到不会被 SPI_finish 或事务管理器释放的内存中,并返回该副 本的指针。这让你能够在当前会话后续的 C 函数调用中重用预备语句。

参数

SPIPlanPtr plan

要保存的预备语句

返回值

复制后语句的指针;如果未成功则返回NULL。 错误时,SPI_result会被这样设置:

SPI_ERROR_ARGUMENT

如果planNULL或无效

SPI_ERROR_UNCONNECTED

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

注解

原始传入的预备语句不会被释放,因此你可能需要对其调用 SPI_freeplan,以避免在 SPI_finish之前发生内存泄露。

在大多数情况下,SPI_keepplan 比此函数更合适,因 为它基本能达到相同效果,同时无需实际复制该预备语句的数据结构。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。