Re: do I need a rollback() after commit that fails? - Mailing list pgsql-general

From Andy Colson
Subject Re: do I need a rollback() after commit that fails?
Date
Msg-id 4AC26674.2030201@squeakycode.net
Whole thread Raw
In response to do I need a rollback() after commit that fails?  (Vick Khera <vivek@khera.org>)
Responses Re: do I need a rollback() after commit that fails?  (Vick Khera <vivek@khera.org>)
List pgsql-general
Vick Khera wrote:
> I'm running Pg 8.3.7 on FreeBSD 7.2.
>
> I have some code in Perl that does a bunch of inserts and updates with
> all constraints deferred.  On occasion, one of the FK's gets violated
> and the transaction commit fails.
>
> I trap this with code like this:
>
>     unless ($dbh->commit()) {
>       warn "commit failure ".$dbh->errstr;
>       $dbh->rollback();
>       return 'failed';
>     }
>
> The DBI is telling me that the rollback() is useless with AutoCommit
> is on (which it is).
>

Unless I'm mistaken, if AutoCommit is enabled, then each statement will
be commit for you.  The commit() and the rollback() are both useless.

-Andy

pgsql-general by date:

Previous
From: CG
Date:
Subject: anyelement and anynonarray inclusion
Next
From: Tom Lane
Date:
Subject: Re: anyelement and anynonarray inclusion