Re: Cleaning up aborted transactions
От | Greg Spiegelberg |
---|---|
Тема | Re: Cleaning up aborted transactions |
Дата | |
Msg-id | 3EE5C364.4050008@cranel.com обсуждение исходный текст |
Ответ на | Re: Cleaning up aborted transactions (Rod Taylor <rbt@rbt.ca>) |
Ответы |
Re: Cleaning up aborted transactions
|
Список | pgsql-php |
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@Cranel.com Cranel. Technology. Integrity. Focus.
В списке pgsql-php по дате отправления: