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_saveplan

SPI_saveplan — 儲存預處理語句

概要

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

描述

SPI_saveplan 將透過 SPI_prepare 準備的語句複製到記憶體中,這塊記憶體不會被 SPI_finish 或事務管理器釋放,並返回指向複製的語句的指標。這使您能夠在當前會話中後續呼叫 C 函式時重用預處理語句。

引數

SPIPlanPtr plan

要儲存的預處理語句

返回值

指向複製的語句的指標;如果失敗則為 NULL。發生錯誤時,SPI_result 設定如下:

SPI_ERROR_ARGUMENT

如果 planNULL 或無效

SPI_ERROR_UNCONNECTED

如果從未連線的 C 函式呼叫

註釋

原始傳入的語句不會被釋放,因此您可能希望對其呼叫 SPI_freeplan 以避免記憶體洩漏,直到 SPI_finish

在大多數情況下,SPI_keepplan 比此函式更受青睞,因為它實現了基本相同的結果,而無需實際複製預處理語句的資料結構。

提交更正

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