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