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