SPI_execute_plan
名前
SPI_execute_plan --
SPI_prepare
で準備された計画を実行する
概要
int SPI_execute_plan(void * plan, Datum * values, const char * nulls,
bool read_only, long 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。
- long 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
の結果は予測不能です。