> Bruce Momjian wrote:
>
>
> >
> > The trick for that is to call COMMIT before you pass the backend to a
> > new person.
>
>
> The failure to COMMIT is a programmer error - ROLLBACK's much safer. At
> least that's what we decided in the AOLserver community, and that's
> what the drivers for Oracle and PG (the two I maintain) implement.
Then you can issue a "BEGIN;ROLLBACK;" when you pass the session to the
next user, and "RESET ALL;" of course.
> > Now, if you want to abort a left-over transaction, you can
> > do an ABORT but that is going to show up in the server logs because an
> > ABORT without a transaction causes an error message.
>
>
> The connection pooling mechanism needs to track the transaction state
> and only ROLLBACK a handle that's not in autocommit state or in the
> midst of a BEGIN/END transaction (again, Oracle vs. PG)..
Seems like a lot of work to keep track of transaction state in the
client; seems easier to just unconditionally issue the begin;rollback.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026