[Seasar-user:13312] Re: 【JdbcManager】 Postgresで forUpdateNowait()が使えない

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 3月 18日 (火) 09:58:30 JST


ひがです。

> 小林 (koichik) です.
> 
> Date:    Mon, 17 Mar 2008 22:15:44 +0900
> From:    [E-MAIL ADDRESS DELETED]
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:13308] 【JdbcManager】 Postgresで forUpdateNowait()が使えない
> 
> > jdbcManegerを利用しているのですが、.forUpdateNowait() メソッドが利用できません。
> > 
> > 以下のようなエラーが表示されます。
> > 
> > Throwable:java.lang.UnsupportedOperationException: [ESSR0748]エンティティ(TTestEntity)の検索にFOR UPDATE NOWAITが指定されましたが、DBMS(postgre)ではサポートされていません。
> > 
> > しかしながら、Postgresは以下のSQLが通るのでnowaitをサポートしている様に思えます。
> > select * from t_test for update nowait
> 
> こちらで軽く調べた限りだと,PostgreSQL 8.1 から
> nowait がサポートされているようですね.
> 
> 今のところ,PostgreDialect の対象バージョンを
> 明確にしていないのですが,8.0 以前はもうほとんど
> 使われていないということであれば,PostgreDialect は
> 8.1 以降限定ということでnowait をサポートしても
> いいかもしれません.
> 
> しかし,8.0 以前もまだ多く利用されているなら,
> PostgreDialect では nowait をサポートせず,
> 8.1 以降用に Postgre81Dialect とか新たに作って
> 対応するか,ということになると思います.
> 
まず、8.0を使っている人が、どれくらいいるか
MLで聞いてみたいと思います。

いない、あるいは、いてもS2JDBCを使う予定がないなら、
PostgreDialectでnowaitをサポートしたほうがいいのかなと思います。

三日間(?)、反応がなければ、8.0が使われていないとみなすことにしましょうか。

修正を入れる場合でも、関修康さんのほうから、動くものを
提供していただいたほうがこちらとしても安心です。

PostgreSQLでも、もちろんテストしていますが、
日常的に使っているわけではないので。

よろしくお願いします。


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