Re: autocommit trouble with jdbc on Postgres 7.4 - Mailing list pgsql-jdbc

From Bob Cart
Subject Re: autocommit trouble with jdbc on Postgres 7.4
Date
Msg-id C72E7FE2-23B2-11D8-97C0-000A95BA17FE@cartdev.com
Whole thread Raw
In response to Re: autocommit trouble with jdbc on Postgres 7.4  (Dave Tenny <jeffrey.tenny@comcast.net>)
List pgsql-jdbc
Okay, here's the stack trace:


java.sql.SQLException: no transaction in progress
java.sql.SQLException: ERROR:  SET AUTOCOMMIT TO OFF is no longer
supported

com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException:
ERROR:  SET AUTOCOMMIT TO OFF is no longer supported
  ERROR:  SET AUTOCOMMIT TO OFF is no longer supported

What does that tell you?



On Nov 30, 2003, at 7:16 PM, Dave Tenny wrote:

> Bob Cart wrote:
>
>> On Nov 30, 2003, at 4:40 PM, Oliver Jowett wrote:
>>
>>> AFAIK the driver never generates SET AUTOCOMMIT TO OFF; the only
>>> thing it
>>> does with server-side autocommit is to turn it on if the backend
>>> defaults to
>>> off (as is possible with a 7.3 server). So I'd hazard a guess that
>>> the
>>> problematic query is actually being generated by your application
>>> code, not
>>> the JDBC driver; there's not much the driver can do about that case.
>>>
>>> Can you provide the full exception & stack trace that's generated,
>>> and
>>> ideally a statement trace from the backend?
>>>
>>> (I took a quick look at the download URL you mentioned in a later
>>> email, but
>>> it's registration-required).
>>>
>>> -O
>>
>>
>> Right. The driver for 7.4 should not even be able to generate SET
>> AUTOCOMMIT TO OFF. That's one reason why I think this is a jdbc issue
>> and not an application issue. The other reason is that the app works
>> with so many other databases - including postgres 7.3. Also, the
>> logistics of the release don't make it likely that the driver has
>> been updated for all the changes that happened late in teh
>> development cycle of pg7.4. 7.4 was just released a couple of weeks
>> ago. From looking at various threads out on the net, Tom Lane removed
>> the server side autocommit pretty recently. Now that the most recent
>> jdbc driver the 7.4 beta was posted back in september, I don't see
>> how it could have been patched up to support the autocommit change.
>> Now if you are right and the driver never was able to SET AUTOCOMMIT
>> TO OFF anyway, well we do have a tricky one. My guess is the
>> application I'm using isn't smart enough to come up with an error
>> string that says,  "Error: SET AUTOCOMMIT TO OFF no longer
>> supported". That's delivered via the jdbc driver. Doesn't seem to me
>> that an app should be able to make the drive throw that even if it
>> tried.
>>
>> Some brave soul out there needs to dig into that part of the driver
>> code to see what's up. Go for it Oliver!
>
> A stacktrace is really called for first before asking some soul to
> review this.  A very reasonable request.
>
> The original report said that this was third party code.  Any third
> party code can have a statement.execute("SET AUTOCOMMIT OFF")
> in their library because they naively implemented their transaction
> model.  And early postgres versions wouldn't have complained
> (though they might not have generated the right results!).
> I speak from experience since I was once new enough to JDBC to have
> done just this and it ran for a long time before I fixed it.
>
> So a stacktrace will clarify whether the third party code is doing
> this, or whether postgresql is doing it,
> and if so, where it's being done.
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if
> your
>      joining column's datatypes do not match
>


pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: autocommit trouble with jdbc on Postgres 7.4
Next
From: Bob Cart
Date:
Subject: Re: autocommit trouble with jdbc on Postgres 7.4