Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

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(不执行任何操作)