Re: SET autocommit begins transaction? - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: SET autocommit begins transaction?
Date
Msg-id 200209290131.g8T1V9P04122@candle.pha.pa.us
Whole thread Raw
In response to Re: SET autocommit begins transaction?  (Sean Chittenden <sean@chittenden.org>)
Responses Re: SET autocommit begins transaction?
List pgsql-bugs
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.
>
> Was there any resolution to this or are SET's still starting a new
> transaction?  I haven't seen any commits re: this, iirc.  -sc

It is still an open item, but I think there was agreement that SET will
not start a transaction, and we will document that.

--
  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
                               P O S T G R E S Q L

                          7 . 3  O P E N    I T E M S


Current at ftp://momjian.postgresql.org/pub/postgresql/open_items.

Source Code Changes
-------------------
Schema handling - ready? interfaces? client apps?
Drop column handling - ready for all clients, apps?
Fix BeOS, QNX4 ports
Fix AIX large file compile failure of 2002-09-11 (Andreas)
Get bison upgrade on postgresql.org for ecpg only (Marc)
Fix vacuum btree bug (Tom)
Fix client apps for autocommit = off
Change log_min_error_statement to be off by default (Gavin)
Fix return tuple counts/oid/tag for rules
Add schema dump option to pg_dump
Make SET not start a transaction with autocommit off, document it
Remove GRANT EXECUTE to all /contrib functions?

On Going
--------
Security audit

Documentation Changes
---------------------
Document need to add permissions to loaded functions and languages
Move documation to gborg for moved projects

pgsql-bugs by date:

Previous
From: Sean Chittenden
Date:
Subject: Re: SET autocommit begins transaction?
Next
From: Tom Lane
Date:
Subject: Re: SET autocommit begins transaction?