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 則不執行任何操作
如果您在文件中看到任何不正確的內容、與您對特定功能的實際體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。