他のバージョンの文書 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_parse_open

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

概要

Portal SPI_cursor_parse_open(const char *name,
                             const char *command,
                             const SPIParseOpenOptions * options)

説明

SPI_cursor_parse_openは特定の問い合わせ文字列を実行するカーソル(内部的にはポータル)を設定します。 これは、問い合わせ文字列内のパラメータ参照がParamListInfoを与えることで完全に取り扱われることを除いて、SPI_prepare_cursorに続けてSPI_cursor_open_with_paramlistを実行するのと似ています。

一度限りの問い合わせの実行に対しては、この関数はSPI_prepare_cursorに続いてSPI_cursor_open_with_paramlistを実行するよりも好ましいです。 同じコマンドが多くの異なるパラメータで実行されるのなら、再計画のコストとカスタム計画の利益に依存してどちらかの方法がより速いでしょう。

その問い合わせに対しては一度限りの計画が必ず使われますので、options->paramsオブジェクトは通常各パラメータにPARAM_FLAG_CONSTフラグをつけるべきです。

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

引数

const char * name

ポータルの名前、あるいはシステムに名前を決定させる場合はNULL

const char * command

コマンド文字列

const SPIParseOpenOptions * options

オプションの引数を含む構造体

呼び出し元は、必ずoptions構造体全体をゼロクリアしてから、設定したいフィールドを埋めるべきです。 構造体に将来追加されるフィールドは、ゼロであれば後方互換性があるように振る舞うよう定義されますので、これはコードの将来の互換性を確実にします。 現在利用可能なoptionsフィールドは以下の通りです。

ParamListInfo params

問い合わせパラメータの型と値を含むデータ構造。なければNULL

int cursorOptions

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

bool read_only

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

戻り値

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