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
の結果は予測できません。