[pgsql-jp: 29151] Re: setAutoCommit で Warning
Daichi Ueura
daichi @ lifeflow.jp
2003年 2月 20日 (木) 03:33:20 JST
上浦です。
On Wed, 19 Feb 2003 16:22:23 +0900
Hiroshi Inoue <Inoue @ tpf.co.jp> wrote:
> > > rs = st.executeQuery("select 1; commit; set autocommit = on;");
>
> 上記例では3つのコマンドが一つのコマンドのごとく処理されます。
> autocommitが何であろうと一つのトランザクション内で処理され
> (上記の場合はcommitが間に入っていて違いますが)戻ってきた
> 時の状態がautocommitのオン/オフによって異なることになります。
ということは、トランザクションの中にいるということですよね?
なぜCommitでWarningが出るのでしょうか?
> psqlはインテリジェント?なので自分でコマンドを分割して一つずつ
> 処理してしまいます。psqlを使ってこの動作を試すのは逆にかなり
> 難しいことになります。psql -c を使う位しか手段がありません。
たしかに -c を使用するとひとまとまりで送られるようです。
autocommitについてはPostgreSQL7.3から実装されているようですが、
この動作は納得できません。(個人的に・・・)
SQLの書き方によっては(まとめて実行など)、7.2ではトランザクション処理がさ
れていたのに、7.3ではされないと言うことになります。
┛
┛ Daichi Ueura
┛
┛ Hiroshima City Univ, Department of Intelligent Systems.
┛ e-mail: (Private) daichi @ lifeflow.jp
┛ : (Office) daichi @ neu.co.jp
┛ : (Univ) g23010 @ cr.info.hiroshima-cu.ac.jp
┛
┛
pgsql-jp メーリングリストの案内