[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 メーリングリストの案内