Re: BUG #1251: setTransactionIsolation does not seem to work - Mailing list pgsql-bugs

From Kris Jurka
Subject Re: BUG #1251: setTransactionIsolation does not seem to work
Date
Msg-id Pine.BSO.4.56.0409130548290.16521@leary.csoft.net
Whole thread Raw
In response to BUG #1251: setTransactionIsolation does not seem to work  ("PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>)
List pgsql-bugs
> Bug reference:      1251
> PostgreSQL version: 7.4.3
> Description:        setTransactionIsolation does not seem to work
>
> First of all, the version I am using of PostgreSQL is 7.4.5, and *not* 7.4.3
> (I have set 7.4.3 in the form, since it does not allow to choose 7.4.5).
>
> I have tested several JDBC drivers (pg74.213.jdbc3.jar, pg74.215.jdbc3.jar,
> pg74.213.jdbc2.jar and pg74.213.jdbc2ee.jar), and
> connection.setTransactionIsolation does not change the transaction isolation
> level (maybe the problem is with the database and not with the JDBC driver).
>
> connection.setAutoCommit(false);
> connection.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);

By calling setAutoCommit(false) you are beginning a transaction and you
may not change the isolation level once a transaction has begun.  You
should move the isolation level calls before the auto commit setting.

The 8.0 driver does not suffer this problem because it does not begin a
transaction immediately upon the auto commit call, but waits for a real
query.  Then when setTransactionIsolation is called it will either work
correctly or issue an error stating that you are in a transaction.  The
8.0 driver can be used against earlier servers if you'd like.

Kris Jurka

pgsql-bugs by date:

Previous
From: Rafael Martinez Guerrero
Date:
Subject: Re: PosgreSQL is crashing with a signal 11 - Bug?
Next
From: "John R Pierce"
Date:
Subject: Re: vacuum problem