他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

SPI_cursor_open_with_args

SPI_cursor_open_with_args — 問い合わせとパラメータを使ってカーソルを設定する

概要

Portal SPI_cursor_open_with_args(const char *name,
                                 const char *command,
                                 int nargs, Oid *argtypes,
                                 Datum *values, const char *nulls,
                                 bool read_only, int cursorOptions)

説明

SPI_cursor_open_with_argsは特定の問い合わせを実行するカーソル(内部的にはポータル)を設定します。 ほとんどのパラメータはSPI_prepare_cursorSPI_cursor_openに対応するパラメータと同じ意味を持っています。

1回限りの問い合わせ実行に対しては、後にSPI_cursor_openが続いたSPI_prepare_cursorよりも、この関数を選ぶべきです。 多くの異なったパラメータを持つ同一のコマンドを実行する場合、再計画のコストと独自計画による利益に依存して、どちらか一方の方法がより早くなります。

渡されたパラメータデータはカーソルのポータルにコピーされますので、カーソルが存在している間は解放することができます。

引数

const char * name

ポータルの名前、またはシステムに名前を選択させるNULL

const char * command

コマンド文字列

int nargs

入力パラメータ($1$2など)の数

Oid * argtypes

パラメータのデータ型のOIDを含む、nargs長の配列

Datum * values

実パラメータ値を含む、nargs長の配列

const char * nulls

どのパラメータがnullかを記述する、nargs長の配列

nullsNULLであれば、SPI_cursor_open_with_argsはどのパラメータもnullでないとみなします。 さもなければ、nulls配列の各項目は、対応するパラメータが非NULLならば' '、対応するパラメータがNULLならば'n'です。 (後者の場合、values内の対応する値は注意されません。) nullsはテキスト文字列ではなく単なる配列であることに注意してください。 '\0'終端は必要ありません。

bool read_only

読み取りのみの実行の場合true

int cursorOptions

カーソルオプションの整数ビットマスク。ゼロの場合はデフォルトの動作

戻り値

カーソルを含んだポータルへのポインタ。 エラーを返す規約がないことに注意してください。 すべてのエラーはelogで報告されます。