On this page
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 不执行任何操作