SPI_cursor_open
名前
SPI_cursor_open --
SPI_prepareで作成された計画を使用したカーソルを設定します。
概要
Portal SPI_cursor_open(const char * name, void * plan, Datum * values, const char * nulls)
説明
SPI_cursor_open は、SPI_prepareによって準備された計画を実行するカーソル(内部的にはportal)を設定します。
計画を直接実行するのではなくカーソルを使用することには2つの利点があります。
1つ目は、結果行を1度に少なく取り出し、多くの行を返す問い合わせでのメモリの過使用を防ぐことができる点です。
2つ目は、portalは現在のプロシージャの外部でも有効である点です。(実際、現在のトランザクションの終端まで有効とすることができます。)
プロシージャの呼び出し元にportalの名前を返すことで、結果として行セットを返す手段を提供します。
引数
- const char * name
portalの名前、あるいは、システムに名前を決定させる場合はNULLです。
- void * plan
(SPI_prepareで返される)実行計画。
- Datum * values
実パラメータ値。
- const char *nulls
どのパラメータがNULLであるかを示す配列。
nはNULL値を表します。(values内の項目は無視されます。)
空白は非NULLの値を表します。(values内の項目は有効です。)
nulls が NULL の場合、SPI_curcor_openはすべてのパラメータがNULLであるとみなします。
戻り値
カーソルを含むportalへのポインタ。
エラーの場合はNULLです。