[Seasar-user:1777] Re: PostgreSQL セッションの分断

NAKAMURA Manabu under_the_starry
2005年 4月 11日 (月) 14:26:22 JST


こんにちは。中村と申します。

Postgresでのシーケンスの扱いですが、
Postgres 上でのセッション(= Java での Statement オブジェクト) が同一であれば、
トランザクション中かどうかは関係なく currval を見ることができます。
# もちろん以前に更新していることが必要ですが

で、S2Dao の場合、基本的にトランザクション中でなければ
一回のアクセスごとに Statement オブジェクトを生成するので
currvalは見えません。
が、トランザクションを貼ると、Statement オブジェクトが使いまわされるので
currval が見えるようになる。
という事だと思います。

個人的には、トランザクション外で currval を見たいという状況が想像できて
いないので現状で困っていないのですが、必要な状況なのでしょうか?

insert時はPostgres側がアトミックにnextvalを呼ぶので問題にならないかと思います。


--------------------------------------
 中村 学/NAKAMURA Manabu
 [E-MAIL ADDRESS DELETED]
--------------------------------------





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