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