SPI_execute_plan
名前
SPI_execute_plan --
SPI_prepareで準備された計画を実行します。
概要
int SPI_execute_plan(void * plan, Datum * values, const char * nulls,
bool read_only, int count)
説明
SPI_execute_planは、SPI_prepareで準備された計画を実行します。
read_onlyとcountは、SPI_executeと同様の解釈がなされます。
引数
- void * plan
(SPI_prepareで返される)実行計画。
- Datum * values
実パラメータ値の配列。
計画の引数の数と同じ長さでなければなりません。
- const char * nulls
どのパラメータがNULLであるかを示す配列。
計画の引数の数と同じ長さでなければなりません。
nはNULL値を表します。(values内の項目は無視されます。)
空白は非NULLの値を表します。(values内の項目は有効です。)
nulls が NULL の場合、SPI_execute_planは全てのパラメータがNULLではないとみなします。
- bool read_only
読み取りのみの実行の場合true。
- int count
処理される、もしくは、返される行の最大値
戻り値
戻り値は、SPI_execute同様のものに加え、以下のエラー(負)の結果をとることがあります。
- SPI_ERROR_ARGUMENT
plan が NULL あるいは、count が0未満の場合。
- SPI_ERROR_PARAM
values が NULL 、かつ、plan がパラメータ付きで準備された場合。
成功時、SPI_processed とSPI_tuptableが SPI_execute 同様に設定されます。
注意
準備された計画で参照されるオブジェクト(テーブル、関数、など)のいずれかがセッション中に削除された場合、その計画用のSPI_execute_planの結果は予測不能です。