SPI_saveplan
名前
SPI_saveplan -- 計画を保存します。
概要
void * SPI_saveplan(void * plan)
説明
SPI_saveplanは渡された(SPI_prepareで準備された)計画をSPI_finishとトランザクションマネージャで解放されないメモリ内に保存します。
そして、保存した計画のポインタを返します。
これは、現在のセッションにおける、その後のプロシージャの呼び出しで準備された計画を再利用できる機能を提供します。
返されるポインタを局所変数に保存することができます。
計画を準備する時やSPI_execute_planで既存の準備された計画を使用する時、常にこのポインタがNULLかどうかを検査してください。
戻り値
保存された計画へのポインタ。
失敗した場合はNULLです。
エラー時、SPI_resultは以下のように設定されます。
- SPI_ERROR_ARGUMENT
plan が NULL の場合。
- SPI_ERROR_UNCONNECTED
未接続のプロシージャから呼び出された場合。
注意
準備された計画で参照されるオブジェクト(テーブル、関数など)のいずれかがセッションの途中で削除された場合、その計画のSPI_execute_planの結果は予測できません。