Postgresql 中文操作指南

SPI_freetuptable

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

Synopsis

void SPI_freetuptable(SPITupleTable * tuptable)

Description

SPI_freetuptable 释放由先前的 SPI 命令执行函数创建的行集,例如 SPI_execute 。因此,该函数常常与全局变量 SPI_tuptable 一起作为参数调用。

此函数在 SPI 使用的 C 函数需要执行多条命令,并且不想在该函数结束之前保留早期命令的结果时很有用。请注意,任何未释放的行集都将在 SPI_finish 释放。此外,如果在执行 SPI 使用的 C 函数,然后中止子事务,SPI 将自动释放子事务运行时创建的任何行集。

在 PostgreSQL 9.3 中开始, SPI_freetuptable 包含防护逻辑,用于防止对同一行集发出重复的删除请求。在早期版本中,重复删除会导致崩溃。

Arguments

  • SPITupleTable * _tuptable_

    • 要释放的行集的指针,或为 NULL 以什么都不做。