Re: "Idle in Transaction" revisited.

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Gaetano Mendola <mendola(at)bigfoot(dot)com>
Cc: John R Pierce <pierce(at)hogranch(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: "Idle in Transaction" revisited.
Date: 2004-09-18 10:53:26
Message-ID: 414C13A6.8080407@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Gaetano Mendola wrote:
> John R Pierce wrote:
>
>> I'm curious what common practice is for threads that do nothing but
>> SELECTS... do folks just enable auto_commit, thereby preventing pgJDBC
>> from doing BEGIN; ? Do they lace their code with COMMIT() calls?
>
>
> We were bitten by this problem too, and my solution was to suggest our
> developer to do and explicit: "ABORT" after the connection, and do
> explicit "BEGIN" "END" instead of rely on the jdbc interface.

This is a pretty bad idea as it can confuse the driver's idea of the
current transaction state. For example, cursor-based resultsets won't
ever be used if you do your own transaction demarcation in this way.

Better to use the standard JDBC autocommit API and a driver that has the
premature-BEGIN problem fixed.

-O

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Gaetano Mendola 2004-09-18 13:50:34 Re: "Idle in Transaction" revisited.
Previous Message Gaetano Mendola 2004-09-18 10:35:18 Re: "Idle in Transaction" revisited.