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