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
同様に設定されます。