SPI_freetuptable

SPI_freetuptable —释放由SPI_execute创建的行集或类似的函数

Synopsis

void SPI_freetuptable(SPITupleTable * tuptable)

Description

SPI_freetuptable释放由先前的 SPI 命令执行功能(例如SPI_execute)创建的行集。因此,通常以全局变量SPI_tuptable作为参数来调用此函数。

如果 SPI 过程需要执行多个命令并且不想保留之前的命令的结果直到结束,则此功能很有用。请注意,任何未释放的行集都将在SPI_finish释放。同样,如果子事务开始并且随后在执行 SPI 过程时中止,则 SPI 自动释放在子事务运行时创建的任何行集。

从 PostgreSQL 9.3 开始,SPI_freetuptable包含保护逻辑,以防止针对同一行集的重复删除请求。在以前的版本中,重复删除会导致崩溃。

Arguments

  • SPITupleTable * tuptable

    • 指向行的指针设置为 free 或 NULL 不执行任何操作