Skip site navigation (1) Skip section navigation (2)

Re: Allow SET to not start a transaction

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Allow SET to not start a transaction
Date: 2002-10-09 04:58:47
Message-ID: 200210090458.g994wll09989@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-patches
OK, I have finished the patch and applied it, with doc updates.

---------------------------------------------------------------------------

Bruce Momjian wrote:
> We have on the open items list:
> 
> 	Make SET not start a transaction with autocommit off, document it
> 
> The attached patch does exactly that (though without documentation).  It
> checks for the TRANS_DEFAULT transaction state, which is the state right
> after a COMMIT.  If the backend is in that state, and autocommit is off,
> and the command is SET/SHOW/RESET, then a COMMIT will be forced, rather
> than keeping the transaction open for the next command.  It seems to
> work, but i want to test it more before applying to CVS.
> 
> ---------------------------------------------------------------------------
> 
> test=> set autocommit = off;
> SET
> test=> commit;
> WARNING:  COMMIT: no transaction in progress
> COMMIT
> test=> set statement_timeout = 9999999;
> SET
> test=> select 1;          
>  ?column? 
> ----------
>         1
> (1 row)
> 
> test=> abort;
> ROLLBACK
> test=> show statement_timeout;
>  statement_timeout 
> -------------------
>  9999999
> (1 row)
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

pgsql-patches by date

Next:From: Bruce MomjianDate: 2002-10-09 05:21:56
Subject: Re: inline newNode()
Previous:From: Bruce MomjianDate: 2002-10-09 04:35:06
Subject: Re: inline newNode()

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group