Dirk Mahler created CALCITE-2702:
------------------------------------

             Summary: Invalid commit()/rollback() behavior on JDBC connection
                 Key: CALCITE-2702
                 URL: https://issues.apache.org/jira/browse/CALCITE-2702
             Project: Calcite
          Issue Type: Bug
          Components: jdbc-adapter
    Affects Versions: 1.17.0
            Reporter: Dirk Mahler
            Assignee: Julian Hyde


We're using Tibco Spotfire with a Calcite enabled JDBC driver as a pooled 
datasource. There is an issue that the Spotfire connection pool rans out of 
connections quite fast and we could track it down to the behavior of 
org.apache.calcite.avatica.AvaticaConnection#commit. This delegates to 
org.apache.calcite.jdbc.CalciteMetaImpl#commit which throws an 
UnsupportedOperationException.

It looks like that this behavior is not correct: according to the JavaDoc of 
java.sql.DatabaseMetaData#supportsTransactions a JDBC driver should treat 
commit as a NOOP if the database (or in this case the driver) does not support 
transactions:
{noformat}
/**
* Retrieves whether this database supports transactions. If not, invoking the
* method <code>commit</code> is a noop, and the isolation level is
* <code>TRANSACTION_NONE</code>.
*
* @return <code>true</code> if transactions are supported;
* <code>false</code> otherwise
* @exception SQLException if a database access error occurs
*/
boolean supportsTransactions() throws SQLException;{noformat}
 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to