[Seasar-user:3798] Re: S2DAO でのfetchSize変更について

Hirotaka HONMA [E-MAIL ADDRESS DELETED]
2006年 6月 7日 (水) 22:15:02 JST


本間です。

on Mon, 05 Jun 2006 11:14:49 +0900
NISHIMURA Toshio <[E-MAIL ADDRESS DELETED]> wrote:

> > これは良くわかりませんでした。
> > SELECTで110件取得できるときに、DBMSからの 
> > fetchを2回に分けた
> > くないということでしょうか?
> いえ、僕の基本的な勘違いでした。fetchサイズを超える行の結 
> 果は得ることができない、と思っていました。
> fetchSizeをどう使うかはJDBCドライバーが決めるんですね。
> SetFetchSizeが実装されているドライバー(Postgres8.1)は、 
> fetchSize以降の行を取得するときに、もう一度fetchを発行して 
> いました。

ああ、諒解しました。(^^

> >> S2DAOでもfetchSizeを変更できるようにするか、
> >> fetchSize=-1を渡すような仕様に修正していただけますか?
> >> よろしくお願いします。
> >
> > はい、fetchSizeをどこかで変更できるようにしようと思いま 
> > す。

SelectDynamicCommandで、BasicSelectHandler#setFetchSize(-1)
するようにしました。これでfetchSizeを変更しなくなります。

代わりにfetchSizeをj2ee.diconで設定できるようにしました。
次バージョンをリリースする際にも告知しますが、j2ee.diconをこ
のように変更するとfetchSizeとmaxRowsを変更可能になります。
http://www.seasar.org/websvn/diff.php?repname=s2dao&path=%2Ftrunk%2Fs2dao%2Fs2-dao%2Fsrc%2Ftest%2Fresources%2Fj2ee.dicon&rev=418&sc=1

# 他のパラメータも必要でしたら対応します。

j2ee.diconを変更しなくても動作しますが、その場合のfetchSize
はJDBCドライバのデフォルト値になります。
(1.0.34まではBasicSelectHandlerが100を設定していましたが、今
回それをOFFにしたため)

---
本間 宏崇 /** Hirotaka HONMA */
[E-MAIL ADDRESS DELETED]
ARK Systems Co., Ltd. : 株式会社アークシステム




Seasar-user メーリングリストの案内