[pgsql-jp: 30405] Re: カーソルに対するSELECT

Satoshi Nagayasu snaga @ snaga.org
2003年 7月 5日 (土) 23:27:16 JST


永安です。

Hiroki Kataoka <kataoka @ interwiz.jp> wrote:
> > 要するに、フェッチして必要とされる行が返されたら、
> > その時点でエグゼキュータは処理を中断する、ということですよね。
> 
>   はい。そのとおりです。カーソルに関わらず、たとえばLIMITが指定された
> SELECT文なども1つの例ですが、エグゼキュータは最小限?の処理しか行わないで
> す。

あーやっぱりそうだったのですね。

LIMITを使った場合の処理は知ってたんですが、
実はカーソルとゆーものを使い始めたのがつい最近なので、
中でどうやってるのかよく知りませんでした。

>   ちなみにエグゼキュータには「結果の送り先」と「何行欲しい」というパラメー
> タがあって、その辺をコントロールできるようになっています。たとえば通常の
> SELECT文であれば結果の送り先は「クライアント」で全行欲しいというパラメータ
> を指定しますし、FETCHであれば指定された行数だけ欲しいと指示します。MOVEの
> 場合は結果の送り先は「なし」となります。

見てみると、やっぱりFetchでもExecutorRun()にパラメータとして取得する行数を
渡しているんですね。

なるほど。

-- 
NAGAYASU Satoshi <snaga @ snaga.org>




pgsql-jp メーリングリストの案内