unnecessary exception patch - Mailing list pgsql-jdbc

From sulfinu@gmail.com
Subject unnecessary exception patch
Date
Msg-id 200801111543.18210.sulfinu@gmail.com
Whole thread Raw
Responses Re: unnecessary exception patch  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
Hi,

this is a patch that avoids getting an undeserved PSQLException when setting
the transaction isolation level on a connection:

---
postgresql-jdbc-8.2-507.src/org/postgresql/jdbc2/AbstractJdbc2Connection.java
2007-12-01 11:17:49.000000000 +0200
+++ src/org/postgresql/jdbc2/AbstractJdbc2Connection.java       2008-01-11
15:26:58.000000000 +0200
@@ -759,6 +759,8 @@
      */
     public void setTransactionIsolation(int level) throws SQLException
     {
+       if (level == getTransactionIsolation())
+               return;
         if (protoConnection.getTransactionState() !=
ProtocolConnection.TRANSACTION_IDLE)
             throw new PSQLException(GT.tr("Cannot change transaction
isolation level in the middle of a transaction."),
                                     PSQLState.ACTIVE_SQL_TRANSACTION);


It applies to the case when a connection is reused within a connection pool
and some of its properties are automatically reset before the connection is
handed to the requesting party.
Example: the default DriverManagerConnectionProvider in Hibernate.

Regards.

pgsql-jdbc by date:

Previous
From: Achilleas Mantzios
Date:
Subject: Re: Timestamps without time zone
Next
From: Daniel Henrique Alves Lima
Date:
Subject: Is it safe to use 8.0.14 server and 7.4 driver ?