You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Dirk Mahler (JIRA)" <ji...@apache.org> on 2018/11/23 15:19:00 UTC
[jira] [Created] (CALCITE-2702) Invalid commit()/rollback()
behavior on JDBC connection
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)