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
の結果は予測不能です。