SPI_execute_plan — SPI_prepareで準備された文を実行する
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
SPI_execute_planは、SPI_prepareもしくは類似の関数で準備された文を実行します。
read_onlyとcountはSPI_executeと同様の解釈がなされます。
SPIPlanPtr plan
(SPI_prepareで返される)準備済み文
Datum * values実パラメータ値の配列。 文の引数の数と同じ長さでなければなりません
const char * nullsどのパラメータがNULLであるかを示す配列。 文の引数の数と同じ長さでなければなりません。
nullsがNULLの場合、SPI_execute_planはすべてのパラメータがNULLではないとみなします。
さもなければ、nulls配列の各項目は、対応するパラメータが非NULLならば' '、対応するパラメータがNULLならば'n'です。
(後者の場合、values内の対応する値は注意されません。)
nullsはテキスト文字列ではなく単なる配列であることに注意してください。
'\0'終端は必要ありません。
bool read_only
読み取りのみの実行の場合true
long count返される行の最大数。無制限なら0。
戻り値は、SPI_execute同様のものに加え、以下のエラー(負)の結果を取ることがあります。
SPI_ERROR_ARGUMENT
planがNULLまたは無効、あるいは、countが0未満の場合
SPI_ERROR_PARAM
valuesがNULL、かつ、planがパラメータ付きで準備された場合
成功時、SPI_processedとSPI_tuptableがSPI_execute同様に設定されます。