[Seasar-user:13308] 【JdbcManager】 Postgresで forUpdateNowait()が使えない
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 3月 17日 (月) 22:15:44 JST
関修康です、いつもお世話になっております。
Postgres8.2
Seasar2.4.23
jdbcManegerを利用しているのですが、.forUpdateNowait() メソッドが利用できません。
以下のようなエラーが表示されます。
Throwable:java.lang.UnsupportedOperationException: [ESSR0748]エンティティ(TTestEntity)の検索にFOR UPDATE NOWAITが指定されましたが、DBMS(postgre)ではサポートされていません。
しかしながら、Postgresは以下のSQLが通るのでnowaitをサポートしている様に思えます。
select * from t_test for update nowait
たぶん
org.seasar.extension.jdbc.dialect.PostgreDialect
の
@Override
public boolean supportsForUpdate(final SelectForUpdateType type, boolean withTarget)
@Override
public String getForUpdateString(final SelectForUpdateType type,
final int waitSeconds, final Pair<String, String>... aliases)
のあたりを修正すれば良いとは思うのですが、
あえて実装をしていない等の理由があるのでしょうか?
(SQLが通るだけでは無くて他の条件を見てる?)
よろしければ本体側にて対応して頂ければと思ってメールさせて頂きました。
宜しくお願い致します。
Seasar-user メーリングリストの案内