2024 年 9 月 26 日:PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

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 表示不执行任何操作

提交更正

如果您在文档中发现任何不正确的内容、与您对特定功能的体验不符或需要进一步说明,请使用 此表单 报告文档问题。