Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> 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
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to