commit fda3da1437b1576913a41b3e3165b84d472518b0 Author: Sébastien Jelsch Date: Wed Aug 12 18:15:09 2015 +0200 KYLIN-945 Fix Exception when loading Connection from DataSource diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinConnection.java b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinConnection.java index 8c53e60..d4f5337 100644 --- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinConnection.java +++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinConnection.java @@ -31,6 +31,7 @@ import org.apache.calcite.avatica.AvaticaConnection; import org.apache.calcite.avatica.AvaticaParameter; import org.apache.calcite.avatica.AvaticaStatement; import org.apache.calcite.avatica.ColumnMetaData; +import org.apache.calcite.avatica.ConnectionPropertiesImpl; import org.apache.calcite.avatica.Meta; import org.apache.calcite.avatica.Meta.CursorFactory; import org.apache.calcite.avatica.Meta.Signature; @@ -80,6 +81,18 @@ public class KylinConnection extends AvaticaConnection { Properties getConnectionProperties() { return info; } + + public boolean getAutoCommit() throws SQLException { + if(meta.connectionSync(handle, new ConnectionPropertiesImpl()).isAutoCommit() == null) + setAutoCommit(true); + return super.getAutoCommit(); + } + + public boolean isReadOnly() throws SQLException { + if(meta.connectionSync(handle, new ConnectionPropertiesImpl()).isReadOnly() == null) + setReadOnly(true); + return super.isReadOnly(); + } @Override public AvaticaStatement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {