PostgreSQL | ||
---|---|---|
Prev | Next |
SPI_prepare(query, nargs, argtypes)
問い合わせ文字列
入力パラメータの数(SQL 関数における $1 ... $nargs の数)
入力引数へのOID 型のポインタのリスト
実行プラン (parser+planner+optimizer) へのポインタ
SPI_prepare は実行プラン (parser+planner+optimizer) を生成して返却しますが、 問い合わせは実行しません。 接続済の手続きからのみ呼び出して下さい。
nargs は 引数の数(SQL 関数の $1 ... $nargs の数)で、引数のない問い合わ せに限り 0 となります。
生成済のプランを実行するのは非常に高速な場合もあります。 したがって、同じ問い合わせを何回も実行する場合に この機能が有効です。
SPI_finish がメモリを開放してしまうので、 SPI_prepare から返却されたプランは 現在起動中の手続き中でのみ使用できます。 SPI_saveplan参照。
成功すれば NULL 以外のポインタが返ります。 それ以外は NULL のプランが返ります。 どちらにしても、SPI_exec の返却値同様 SPI_result がセットされます。 ただし、問い合わせが NULL もしくは、nargs < 0 、もしくは nargs > 0 かつ argtypes が NULL の場合、 SPI_ERROR_ARGUMENT が返ります。
Prev | Home | Next |
SPI_exec | Up | SPI_saveplan |