Re: [JDBC] problem with new autocommit config parameter and

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Curt Sampson <cjs@cynic.net>, snpe <snpe@snpe.co.yu>, "pgsql-jdbc@postgresql.org" <pgsql-jdbc@postgresql.org>, pgsql-hackers@postgresql.org
Date: 2002-09-10T20:00:26Z
Lists: pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > That seems messy.  What you are saying is that if autocommit is off,
> > then in:
> 
> > 	SET x=1;
> > 	UPDATE ...
> > 	SET y=2;
> > 	ROLLBACK;
> 
> > that the x=1 doesn't get rolled back bu the y=2 does?
> 
> Yes, if you weren't in a transaction at the start.
> 
> > I can't see any good logic for that.
> 
> How about "the SQL spec requires it"?  Date seems to think it does,
> at least for some variables (of course we have lots of variables
> that are not in the spec).
> 
> I can't find anything very clear in the SQL92 or SQL99 documents,
> and I'm not at home at the moment to look at my copy of Date, but
> if Curt's reading is correct then we have spec precedent for acting
> this way.

Spec or not, it looks pretty weird so I would question following the
spec on this one.

Do we want to say "With autocommit off, SET will be in it's own
transaction if it appears before any non-SET command", and "SETs are
rolled back except if autocommit off and they appear before any
non-SET"?  

I sure don't.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073