Re: do I need a rollback() after commit that fails?

From: Andy Colson <andy(at)squeakycode(dot)net>
To: Vick Khera <vivek(at)khera(dot)org>, PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: do I need a rollback() after commit that fails?
Date: 2009-09-29 19:56:36
Message-ID: 4AC26674.2030201@squeakycode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2009-09-29 20:35:59 Re: anyelement and anynonarray inclusion
Previous Message CG 2009-09-29 19:21:16 anyelement and anynonarray inclusion