历史版本。 PostgreSQL 9.3 已结束支持。 2018-11-08. 请参阅 当前版本手册.
SPI_freetuptable
SPI_freetuptable — 释放由 SPI_execute 或类似函数创建的结果行集
大纲
void SPI_freetuptable(SPITupleTable * tuptable)描述
SPI_freetuptable 释放由先前的 SPI 命令执行函数(例如 SPI_execute)创建的结果行集。因此,调用它时经常会直接把全局变量 SPI_tuptable 作为参数。
如果某个使用 SPI 的过程需要执行多条命令,并且不想将前面命令的结果一直保留到过程结束,那么这个函数就很有用。注意,任何尚未释放的结果行集都会在
SPI_finish 时被释放。此外,如果在使用 SPI 的过程执行过程中开启了一个子事务而后又中止,SPI 会自动释放该子事务运行期间创建的所有结果行集。
从 PostgreSQL 9.3 开始,SPI_freetuptable 内置了保护逻辑,以避免对同一个结果行集重复发出删除请求。在更早的版本中,重复删除会导致崩溃。
参数
SPITupleTable *tuptable要释放的结果行集指针,或传入 NULL 表示不执行任何操作