Postgresql 中文操作指南
Description
SPI_freetuptable 释放由先前的 SPI 命令执行函数创建的行集,例如 SPI_execute 。因此,该函数常常与全局变量 SPI_tuptable 一起作为参数调用。
此函数在 SPI 使用的 C 函数需要执行多条命令,并且不想在该函数结束之前保留早期命令的结果时很有用。请注意,任何未释放的行集都将在 SPI_finish 释放。此外,如果在执行 SPI 使用的 C 函数,然后中止子事务,SPI 将自动释放子事务运行时创建的任何行集。
在 PostgreSQL 9.3 中开始, SPI_freetuptable 包含防护逻辑,用于防止对同一行集发出重复的删除请求。在早期版本中,重复删除会导致崩溃。