> 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