2025年9月25日: PostgreSQL 18 釋出!
支援的版本:當前18) / 17 / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 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 則不執行任何操作

提交更正

如果您在文件中看到任何不正確的內容、與您對特定功能的實際體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。