Re: Cleaning up aborted transactions

From: Michael Glaesemann <grzm(at)myrealbox(dot)com>
To: pgsql-php(at)postgresql(dot)org
Subject: Re: Cleaning up aborted transactions
Date: 2003-06-10 09:21:03
Message-ID: DB8E9D12-9B24-11D7-94FB-0005029FC1A7@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php


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.

But, if it does happen, what are the alternatives? How do I finish off
that transaction that hasn't been properly finished? I'm assuming
restarting postmaster will do it, but I'm wondering if there's any
other way.

I haven't been able to find anything about this after googling.
Obviously the vast majority of people have their ducks in a row. :)

Thanks again, Adrian. I appreciate the response.

Carefully closing my transactions,

Michael

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Greg Spiegelberg 2003-06-10 11:39:16 Re: Cleaning up aborted transactions
Previous Message Adrian Tineo 2003-06-10 08:05:42 Re: Cleaning up aborted transactions