On Wed, 18 Sep 2002, Bruce Momjian wrote: > Sean Chittenden wrote: > > > But it seems so illogical that SET doesn't start a transaction, but > > > if it is in a transaction, it is rolled back, and this doesn't help > > > our statement_timeout example except to require that they do BEGIN > > > to start the transaction even when autocommit is off. > > > > Really? To me that makes perfect sense. Logic: > > > > *) Only BEGIN starts a transaction > > I think the above item is the issue. Everything is clear with > autocommit on. With autocommit off, COMMIT/ROLLBACK starts a > transaction, not BEGIN. BEGIN _can_ start a transaction, but it isn't > required:
AFAICT, according to spec, commit/rollback does not start a transaction, the transcation is started with the first transaction initiating statement when there isn't a current transaction. And, most of the SQL92 commands that start with SET fall into the category of commands that do not initiate transactions. ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]