Re: Cleaning up aborted transactions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi all,

Just so I have this straight, because I've been wondering the same,
if someone on my web site does a SELECT and then clicks on the browser
stop or gets click happy hitting one or many other links on the same
web page then the 1st SELECT and all other interrupted SELECT's should
get rolled back if each query starts with a BEGIN; because there is a
disconnect.  Correct?

What about with persistant connections?

Greg


Rod Taylor wrote:
On Tue, 2003-06-10 at 05:21, Michael Glaesemann wrote:

On Tuesday, Jun 10, 2003, at 17:05 Asia/Tokyo, Adrian Tineo wrote:

pg_connect($connection);
pg_query($connection,"BEGIN;");
$insert="INSERT INTO table VALUES (2,7,5);
$result=pg_query($connection,$insert);
if(!$result){
   pg_query($connection,"ROLLBACK");
   //Something went wrong with the insert so we rollback and

nothing

changes in the db
}else{
   pg_query($connection,"COMMIT");
   // If everything went all right, then we commit the changes
}
pg_close($connection);


Thanks, Adrian, for the illustration, especially the instance with ROLLBACK. I've figured out this sequence now.

What I'm wondering about is what happens when this sequence isn't properly followed and the script quits before issuing a ROLLBACK or a COMMIT. Obviously it's not a good situation and one to be avoided.


The database, unless explicitly told to commit and the commit is
completely successful will always rollback.

So a disconnect results in a rollback.



--
Greg Spiegelberg
 Sr. Product Development Engineer
 Cranel, Incorporated.
 Phone: 614.318.4314
 Fax:   614.431.8388
 Email: gspiegelberg@xxxxxxxxxx
Cranel. Technology. Integrity. Focus.




[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux