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

金子 雄一 [E-MAIL ADDRESS DELETED]
2010年 9月 16日 (木) 20:07:50 JST


金子です。

下記、了解しました。

以上、よろしくお願いします。

(2010/09/16 18:28), kubo wrote:
> 久保(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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
金子 雄一  Yuichi Kaneko
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


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