引数 nargs はパラメータ( SQL 関数の $1 ... $nargs )の数であり、 問い合わせに $1 が存在しない場合にのみ 0 となります。
生成済み実行プランの実行は非常に高速な場合がありますので、同じ問い合わせ を何回も実行するような場合に、この機能は有益です。
SPI_prepare で返されるプランは、 SPI_finish がそれに 割り当てたメモリ領域を開放しますので、現在処理中のプロシージャ中でのみ で使用できます。 SPI_saveplan を参照して下さい。
成功した場合、非 NULL のポインタが返ります。失敗した時には NULL の 実行プランが返ります。どちらにしても SPI_exec の戻り値同様、 SPI_result が設定されます。ただし引数 query が NULL、または、 nargs < 0、または、 nargs > 0 かつ 引数 argtypes が NULL の場合は SPI_ERROR_ARGUMENT が設定されます。