阅读(3618) (9)

PostgreSQL SPI_freetuptable

2021-08-23 09:53:59 更新

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