Is closing a ResulSet, Statement or connection act as a rollback when a transaction is not commited? Not clear in JavaDoc. - Mailing list pgsql-jdbc

From David Gagnon
Subject Is closing a ResulSet, Statement or connection act as a rollback when a transaction is not commited? Not clear in JavaDoc.
Date
Msg-id 4266992B.2080901@siunik.com
Whole thread Raw
In response to Re: implementing asynchronous notifications  (David Gagnon <dgagnon@siunik.com>)
Responses Re: Is closing a ResulSet, Statement or connection act as
List pgsql-jdbc
Hi all,

  I use the following code when accessing Postgreql.  I suspect it may
have a weakness if an exception (Not SQLException) is thrown in the
try/catch block.   I got a NullPointerException today so with the
following code there is no rollback on the trasaction but the
ResultSet/Connection/Statement will be closed (in finally block).  Is
that oki?  I will probably change the catch (SQLException e) for a catch
(Exception e).  I just wanted to be sure since it's not clear in the
javadoc that closing a uncomitted resultSet is the samething as issuing
a rollback prior to closing the ResultSet.

Thanks for your help!! It's really appreciated
/David

 try {
            dbCon = ConnectionFactory.getConnection();
            dbCon.startTransaction();

...
    Throws NullPointerException...

...
            dbCon.commitTransaction();
        } catch (SQLException e) {

            log.error("Problem with the db : " + e.getMessage(), e);
            try {
                dbCon.rollbackTransaction();
            } catch (SQLException e1) {
                log.error("Unable to rollback : " + e1.getMessage(), e);
            }
            ExceptionAdaptor.instance().getMappedException(e, "Unable to
add : " + e.getMessage(), true, ExceptionAdaptor.ACTION_INSERT);
        } finally {
            if (dbCon != null)
                dbCon.closeAll();
        }

pgsql-jdbc by date:

Previous
From: David Gagnon
Date:
Subject: Re: implementing asynchronous notifications
Next
From: Mike Heath
Date:
Subject: JDBC locking on processResults