Re: SET autocommit begins transaction?
От | Stephan Szabo |
---|---|
Тема | Re: SET autocommit begins transaction? |
Дата | |
Msg-id | 20020918164355.G20780-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Re: SET autocommit begins transaction? (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: SET autocommit begins transaction?
Re: SET autocommit begins transaction? |
Список | pgsql-bugs |
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.
В списке pgsql-bugs по дате отправления: