[Seasar-user:20162] Re: 【DBFlute】 外だしSQL実行時例外の発生について

kubo [E-MAIL ADDRESS DELETED]
2010年 9月 16日 (木) 18:28:20 JST


久保(jflute)です。

金子さん、こんばんは

> SQLとしては、カッコがなくても、問題なく動作いたしますので、
> 2WAY-SQLの特性を考えると、
> カッコがあっても例外が出ないような形でも、
> 例外が出ないような形にならないものでしょうか?

SQLとしては、カッコがあっても例外にはならないようですが、
そのように書く意味は無いと考えられるので、申し訳ないですが、
パラメータの指定ミスを防ぐ方を優先させて下さい。
(テスト値のカッコは外して下さい)

#
# 正規表現で grep すれば該当箇所見つけやすいかと
#

2010/9/16 金子 雄一 <[E-MAIL ADDRESS DELETED]>:
> 金子です。
>
> DBFluteの最新版(0.9.7.4-RC1)にて、下記のような実行時例外が出るようになり ました。
> 0.9.7.3でも出ていた記憶があります。
> なお、その前に使用していた0.9.6.8では、この例外は出てきません。
>
> [Advice]
> If a style of a test value is '(...)', parameter should be list or array for
> in-scope.
> For example:
>  (x) - MEMBER_ID in /*pmb.memberId*/('foo', 'bar')
>  (o) - MEMBER_ID in /*pmb.memberIdList*/('foo', 'bar')
>
> [Comment Expression]
> pmb.prdName
>
> [Parameter Type]
> class java.lang.String
>
> で、例外が出る条件が、
>
> この場合ですと、
>
> where
>        tableA.prdName = /*pmb.prdName*/('1')
>
> と、記載されている場合です。
> つまり、
>        tableA.prdName = /*pmb.prdName*/'1'
>
> のように、カッコがない場合は、例外となりません。
> (postgreSQL 8.3の場合)
>
> SQLとしては、カッコがなくても、問題なく動作いたしますので、
> 2WAY-SQLの特性を考えると、
> カッコがあっても例外が出ないような形でも、
> 例外が出ないような形にならないものでしょうか?
>
> もしくは、dfprop等の設定で、この書き方でも
> 例外にならないようなオプションはありますでしょうか?
>
> バージョンを下げれば動作はいたしますが、
> 以前要望させていただいた機能が、
> 最新版で提供されているため、
> バージョンを下げるに下げられない状況です。
> (ちょっと、珍しいパターンかもしれませんが…。)
>
>
> ご不明な点がありましたら、ご連絡ください。
> 以上、よろしくお願いいたします。
>
> --
> ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
> 金子 雄一  Yuichi Kaneko
> ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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