PostgreSQL SPI_saveplan

2021-09-06 10:56 更新

SPI_saveplan — 保存一個預(yù)備語句

大綱

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

描述

SPI_saveplan把一個被傳入的語句(由 SPI_prepare準(zhǔn)備好)復(fù)制到不會被 SPI_finish或者事務(wù)管理器釋放的內(nèi)存中。 這讓你能夠在當(dāng)前會話的后續(xù)C函數(shù)調(diào)用中重用預(yù)備語句。

參數(shù)

SPIPlanPtr plan

要保存的預(yù)備語句

返回值

要被復(fù)制的語句的指針;如果沒有成功則返回NULL。 錯誤時,SPI_result會被這樣設(shè)置:

SPI_ERROR_ARGUMENT

如果planNULL或無效

SPI_ERROR_UNCONNECTED

如果從一個未連接的C函數(shù)調(diào)用

注解

原始的被傳入的語句不會被釋放,因此你可能希望在其上執(zhí)行 SPI_freeplan以避免在 SPI_finish之前發(fā)生內(nèi)存泄露。

在大部分情況下,SPI_keepplan更適合于 執(zhí)行這種功能,因為它極大程度上達(dá)到了同樣的結(jié)果而無需物理地 復(fù)制該預(yù)備語句的數(shù)據(jù)結(jié)構(gòu)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號