PostgreSQL SPI_freetuptable
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 表示什么也不做