Re: Cleaning up aborted transactions - Mailing list pgsql-php

From Michael Glaesemann
Subject Re: Cleaning up aborted transactions
Date
Msg-id DB8E9D12-9B24-11D7-94FB-0005029FC1A7@myrealbox.com
Whole thread Raw
In response to Re: Cleaning up aborted transactions  ("Adrian Tineo" <adriantineo@softhome.net>)
Responses Re: Cleaning up aborted transactions  (Rod Taylor <rbt@rbt.ca>)
List 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


pgsql-php by date:

Previous
From: "Adrian Tineo"
Date:
Subject: Re: Cleaning up aborted transactions
Next
From: Rod Taylor
Date:
Subject: Re: Cleaning up aborted transactions