pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
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 表示不执行任何操作
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。