2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

SPI_saveplan

SPI_saveplan — 保存已准备好的语句

概要

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 比此函数更受欢迎,因为它在无需实际复制已准备好的语句的数据结构的情况下实现了几乎相同的结果。

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或需要进一步澄清,请使用 此表单 报告文档问题。