Re: A bad behavior under autocommit off mode

From: Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: A bad behavior under autocommit off mode
Date: 2003-03-20 03:09:25
Message-ID: 3E7930E5.722BF0C9@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Bruce Momjian wrote:
>
> Hiroshi Inoue wrote:
> > Bruce Momjian wrote:
> > >
> > > OK, I have a patch to fix this bug. The basic problem is that when a
> > > multi-query string is passed to the backend, it is treated as a single
> > > transaction _unless_ a transaction or GUC command appears in the string.
> > > When they appear, a transaction is forced, but the normal transaction
> > > state machine has been bypassed, meaning in:
> > >
> > > SET autocommit TO off; SELECT 1; COMMIT;
> > >
> > > when the COMMIT arrives, the transaction state machines hasn't seen the
> > > SELECT because the mechanism is bypassing the state machine to try and
> > > get everything into the same transaction.
> > >
> > > This patch removes that "stuff all queries into a single transaction"
> > > behavior and makes them function just like queries arriving separately.
> > > This does BREAK BACKWARD COMPATIBILITY. However, if they want the old
> > > behavior, they just need to wrap BEGIN/COMMIT around the query string.
> >
> > Does the change worth the trouble ?
> > Please don't break BACKWARD COMPATIBILITY easily.
>
> It clearly fixes an existing bug,

My proposal also fixes the bug though Tom objected to it.

regards,
Hiroshi Inoue
http://www.geocities.jp/inocchichichi/psqlodbc/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hiroshi Inoue 2003-03-20 03:12:33 Re: cursors outside transactions
Previous Message Neil Conway 2003-03-20 03:08:57 Re: string || NULL ambiguity