> 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 ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings