SPI_saveplan

名前

SPI_saveplan -- 計画を保存する

概要

SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)

説明

SPI_saveplanは渡された(SPI_prepareで準備された)計画をSPI_finishとトランザクションマネージャで解放されないメモリ内に保存します。 そして、保存した計画のポインタを返します。 これは、現在のセッションにおける、その後のプロシージャの呼び出しで準備された計画を再利用できる機能を提供します。

引数

SPIPlanPtr plan

保存する計画

戻り値

保存された計画へのポインタ。 失敗した場合はNULLです。 エラー時、SPI_resultは以下のように設定されます。

SPI_ERROR_ARGUMENT

planNULL、または無効な場合

SPI_ERROR_UNCONNECTED

未接続のプロシージャから呼び出された場合

注意

渡される計画は解放されません。 ですので、SPI_finishを行うまでのメモリリークを防ぎたければSPI_freeplanを実行してください。

準備された計画で参照されるオブジェクト(テーブル、関数など)のいずれかが削除または再定義された場合、その後にSPI_execute_planを実行すると、失敗するか計画当初に示される結果と異なる結果が返される可能性があります。