[seasar-s2dao-dev:180] [DAO-72]SQLコメント中の?があるとjava.lang.ArrayIndexOutOfBoundsExceptionが起こることがある について
SETO Azusa
[E-MAIL ADDRESS DELETED]
2007年 3月 22日 (木) 22:28:38 JST
せとあずさです。
...というわけで冷静に考えなおしたのですが、以下のような方向性で考えています。
(1) SQLのコメント内から、「?」を削除してS2JDBCに渡す。(添付ファイルのような感じ)
→ヒント等で、削除できない「?」があった場合どうする?そのような場合が存在
するのか?→よくわからない。
(2) 久保さんから報告いただいている「埋め込み変数コメントの文字列の中に「?」が
存在すると例外になる」件は、専用の例外にする。
→埋め込み変数コメントの文字列に「?」を使われるとPreparedStatementのプレース
ホルダと区別がつかないので、その時点で例外でいいと思います。
(3) (1)が不可な場合、ログ出力前にコメント中から「?」を削る。(Seasar2側で対応)
→もう1回SqlParserにかけるわけです。
→SqlParser関連が移植されていないSeasar2.3系はどうする?
→ログ出力のためだけにSqlParserを使うのはどうだろう。
できれば(1)(2)で対応したいと考えています。(3)はなるべく避けたいです。
みなさまどう思われますか?
--
せとあずさ
[E-MAIL ADDRESS DELETED]
http://www.fieldnotes.jp/d/
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: s2dao.patch
型: application/octet-stream
サイズ: 708 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-s2dao-dev/attachments/20070322/78757a95/attachment.obj
seasar-s2dao-dev メーリングリストの案内