[seasar-dotnet:1277] Re: [S2Dao.Net] バインド変数コメント について

kubo [E-MAIL ADDRESS DELETED]
2009年 3月 5日 (木) 14:14:54 JST


久保(jflute)です。

> 「AcpDate >= /*dayFrom */ 」(前スペースなし、後スペースあり) の場合:
> 「AcpDate >= null 」 になり、例外は発生しませんでした。

なるほど、了解です。
この場合「dayFrom 」という空白入りのプロパティを探しに行って、
存在しないプロパティとして扱われているというところですね。
フィードバックありがとうございます。
(このパターンを試したことなかったので、
 こういう挙動するの自分も初めて知りました...)

2009/3/5 李ネ韋@京信 <[E-MAIL ADDRESS DELETED]>:
> 久保さんへ
>
> 李です、返事は遅くなってすみません。
>
>  いろいろテストして、以前のメールに一部間違いを気付きました:
>
> 「AcpDate >= /* dayFrom */ 」(前後スペースあり) と
> 「AcpDate >= /* dayFrom*/ 」(前スペースあり)  の場合:
> 「AcpDate >=  」 になり、例外は発生しました。
>> これは正しいと思います。しかし、
>
> 「AcpDate >= /*dayFrom */ 」(前スペースなし、後スペースあり) の場合:
> 「AcpDate >= null 」 になり、例外は発生しませんでした。
>
>  この場合も例外にする方が良いと思います。
>
> ご検討をお願いします。
>
>
>
> ----- Original Message ----- From: "kubo" <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Sent: Monday, March 02, 2009 5:41 PM
> Subject: [seasar-dotnet:1275] Re:[S2Dao.Net] 繝舌う繝ウ繝牙、画焚繧ウ繝。繝ウ繝・縺ォ縺、縺・※
>
>
>> 久保(jflute)です。
>>
>> 李さん、ありがとうございます。
>> 例外にならずに処理が実行されてしまうということは、
>> ログ出力時の処理だけがおかしいってわけじゃなさそうですね。
>> おかげさまで原因の特定に近づいたかと思います。
>> テスト環境で再現ができたら登録して対応する方向で
>> 考えたいと思います。(まずは再現するかどうかから調査)
>>
>> ひとまず、ご利用者の方はバインド変数コメントを
>> 「/* abc */」というように空白を開けずに書くように
>> 注意して下さい。
>>
>>> Daoのインタフェースにその名のパラメータがないのを考えています。
>>> しかし、両方でもはずれ。結局、その現象はS2DAOのルールに沿ってないから、
>>> そうなりました。だから、その場合は例外を発生される方が良いと思います。
>>
>> ご意見ありがとうございます。
>> 確かにその通りではありますが、こちらの挙動に関しては、
>> S2Dao.NETはJava版との互換(内部的な仕組みも含めて)を重視しており、
>> また、現状は安定志向の運営をするポリシーがあるため、
>> ちょっとコミッタ間での要検討事項とさせて下さい。
>>
>>
>> #
>> # 関連情報:
>> # ちなみにDBFluteだと、再現しませんでした。
>> # また、値が設定されてない、パラメータ名が間違いは、
>> # 両方とも明示的な例外になります。
>> #
>>
>> 2009/3/2 李ネ韋@京信 <[E-MAIL ADDRESS DELETED]>:
>>>
>>> 久保さんへ
>>>
>>> 李です、返事が有難うございます。
>>>
>>>> ログでは「AcpDate >= null」になるとのことですが、
>>>> この状態で実行した場合、処理は正常終了しますか?
>>>
>>>  検索処理(DBはオラクル)なので、0件を返して処理は正常終了しました。
>>> だから困っています。
>>>
>>>  普通、「AcpDate >= null」になるのは、呼出す側はパラメータを設定してないか、
>>> Daoのインタフェースにその名のパラメータがないのを考えています。
>>> しかし、両方でもはずれ。結局、その現象はS2DAOのルールに沿ってないから、
>>> そうなりました。だから、その場合は例外を発生される方が良いと思います。
>>>
>>>>> もし普通のコメントとして認識したら、
>>>>> 「AcpDate >= 」(コメント省略)か「AcpDate >= /* dayFrom */ 」(そのまま出力)
>>>>> だと思いますが、
>>>
>>> 上記のいずれになったら例外が発生するはず、原因もすぐ特定できると思います。
>>>
>>>
>>> 以上、よろしくお願いします。
>>>
>>>
>>> ----- Original Message ----- From: "kubo" <[E-MAIL ADDRESS DELETED]>
>>> To: <[E-MAIL ADDRESS DELETED]>
>>> Sent: Friday, February 27, 2009 9:08 PM
>>> Subject: [seasar-dotnet:1272] Re:[S2Dao.Net] 繝舌う繝ウ繝牙、画焚繧ウ繝。繝ウ繝・縺ォ縺、縺・※
>>>
>>>
>>>> 久保(jflute)と申します。
>>>>
>>>> 李さん、こんばんは
>>>>
>>>>> 「AcpDate >= /* dayFrom */ 」
>>>>
>>>> ログでは「AcpDate >= null」になるとのことですが、
>>>> この状態で実行した場合、処理は正常終了しますか?
>>>> (それとも例外が発生しますか?)
>>>>
>>>> 原因を特定するためにぜひ欲しい情報なので、
>>>> よろしくお願いします。
>>>>
>>>> 2009/2/27 李ネ韋@京信 <[E-MAIL ADDRESS DELETED]>:
>>>>>
>>>>> 宮城へ:
>>>>>
>>>>> ご返事が有難うございます。
>>>>>
>>>>>> /* hoge */ のように/* の後にスペースが入っている場合、普通のコメントとして認識します。
>>>>>
>>>>> もし普通のコメントとして認識したら、
>>>>> 「AcpDate >= 」(コメント省略)か「AcpDate >= /* dayFrom */ 」(そのまま出力)
>>>>> だと思いますが、
>>>>> 「AcpDate >= null」になったのは不思議だと思います。
>>>>>
>>>>>
>>>>> よろしくお願いします。
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内