[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 メーリングリストの案内