支援的版本:目前 (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 則不執行任何動作

提交更正

如果您在文件中發現任何不正確、與特定功能的體驗不符或需要進一步澄清的地方,請使用此表單報告文件問題。