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