SPI_saveplan — 準備済み文を保存する
SPIPlanPtr SPI_saveplan(SPIPlanPtr plan
)
SPI_saveplan
は渡された(SPI_prepare
で準備された)文をSPI_finish
とトランザクションマネージャで解放されないメモリ内にコピーします。
そして、コピーした文のポインタを返します。
これは、現在のセッションにおける、その後のプロシージャの呼び出しで準備済み文を再利用できる機能を提供します。
SPIPlanPtr plan
保存する準備済み文
コピーした文へのポインタ。
失敗した場合はNULL
です。
エラー時、SPI_result
は以下のように設定されます。
SPI_ERROR_ARGUMENT
plan
がNULL
、または無効な場合
SPI_ERROR_UNCONNECTED
未接続のプロシージャから呼び出された場合
渡された元の文は解放されません。
ですので、SPI_finish
を行うまでのメモリリークを防ぎたければSPI_freeplan
を実行してください。
準備済み文のデータ構造を物理的にコピーする必要なく、ほとんど同じ結果をもたらしますので、たいていの場合、この関数よりもSPI_keepplan
の方が好ましいです。