SPI_saveplan
SPI_saveplan — 保存一个预备语句
大纲
SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)
描述
SPI_saveplan把一个被传入的语句(由
SPI_prepare准备好)复制到不会被
SPI_finish或者事务管理器释放的内存中。
这让你能够在当前会话的后续C函数调用中重用预备语句。
参数
SPIPlanPtrplan要保存的预备语句
返回值
要被复制的语句的指针;如果没有成功则返回NULL。
错误时,SPI_result会被这样设置:
SPI_ERROR_ARGUMENT如果
plan为NULL或无效SPI_ERROR_UNCONNECTED如果从一个未连接的C函数调用
注解
原始的被传入的语句不会被释放,因此你可能希望在其上执行
SPI_freeplan以避免在
SPI_finish之前发生内存泄露。
在大部分情况下,SPI_keepplan更适合于
执行这种功能,因为它极大程度上达到了同样的结果而无需物理地
复制该预备语句的数据结构。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




