SPI_freetuptable
— 释放由 SPI_execute
或类似函数创建的行集
void SPI_freetuptable(SPITupleTable * tuptable
)
SPI_freetuptable
释放由先前的 SPI 命令执行函数(例如 SPI_execute
)创建的行集。因此,此函数通常与全局变量 SPI_tuptable
一起作为参数调用。
如果一个使用 SPI 的 C 函数需要执行多个命令,并且不希望在函数结束前保留早期命令的结果,那么这个函数就很有用。请注意,任何未释放的行集将在调用 SPI_finish
时被释放。另外,如果在执行一个使用 SPI 的 C 函数时启动了一个子事务然后又被中止,SPI 会自动释放子事务运行期间创建的任何行集。
从 PostgreSQL 9.3 开始,SPI_freetuptable
包含了保护逻辑,以防止对同一行集进行重复删除请求。在之前的版本中,重复删除会导致崩溃。
SPITupleTable * tuptable
指向要释放的行集的指针,如果为 NULL 则不执行任何操作
如果您在文档中看到任何不正确的内容、与您对特定功能的实际体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。