[Seasar-user:21234] Re: Doma で Mssql2008Dialect

近澤 英 [E-MAIL ADDRESS DELETED]
2011年 12月 23日 (金) 18:18:49 JST


近澤です。

中村様
SNAPSHOT版にて、正常な動作が確認できました。

迅速なご対応、ありがとうございました。
非常に助かりました・・。


(2011/12/23 16:52), Toshihiro Nakamura wrote:
> 中村です。
> 
> 報告ありがとうございます。
> これはDomaのバグでした。
> 修正してSNAPSHOT版を作成しましたので
> よろしければお試しください。
> 
> http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.20.1-SNAPSHOT/doma-1.20.1-20111223.074514-1.jar
> 
> 2011年12月23日14:56 近澤 英<[E-MAIL ADDRESS DELETED]>:
>> お世話になります。
>> 近澤と申します。
>>
>> Doma 1.20.0 を利用させて頂いております。
>>
>> SQLServer2008 の Mssql2008Dialect 利用時に、
>> うまく動作しないので質問させてください。
>>
>> select するとき、SelectOptions.get().forUpdate() を指定すると、
>> 次に同じSQLを発行した際に with句 が2つ指定されてしまいます。
>>
>> SQLは非常に単純な、下記のような内容です。
>> select a
>> from b
>> where c = /* cond */null
>>
>> ログを吐くと、2回目以降の呼び出しは
>> select a
>> from b
>> with (updlock, rowlock) with (updlock, rowlock) where  c = '1'
>> となってしまっています。
>>
>> すこしデバッグしたところ、sqlNode のキャッシュに with句付でキャッシュ
>> されているようですが、これが関係あるかはわかりません。。
>>
>> ただ、2回目以降は、forUpdate 無しで呼び出しても
>> with句が付いているようです。
>>
>> 比較の為、PostgreSQL の Dialect で試したところ
>> こういった現象は発生しませんでした。
>>
>> Mssql2008Dialect では何か特別な指定が必要であれば
>> ご教示頂きたいです。
>>
>> お手数おかけして申し訳ございませんが、
>> 宜しくお願い致します。
>>
>> --
>> 近澤
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user


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