​As introduced in [1] t
he JDBC interpreter uses Connection's auto-commit status to decide whether
forceful
​y​
commit the connection
​ or not​
.

​Unfortunately the
 commit is not supported by
​bunch of

​JDBC driver
implementation
​s​
. The Apache Calcite's Avatica is one of them.

​So the
interpreter uses Connection's auto-commit
​ property ​
doesn't allow setting the
​it via the configurations​
​
​
.

Since the JDBC API
​spec ​
provides a standard setAutoCommit(boolean) method
​[2] ​
t
​hat​

​allows setting
connection
​'​
s auto-commit status
​. I
 believe this should be exposed as
​e​
​explicit
 property
​ of the interpreter.​

JDBCInterpreter#getConnection(..)
​ {​

​   ​
....
​   ​
connection.setAutoCommit(use
​interpreter autocomit property
)
​ ​
....
​}​

The [ZEPPELIN-2451]
​ issues addresses the same problem but suggested ​approach is to
completely override the connection autocommit settings.

​Cheers,
Christian​


​[1]​ https://github.com/apache/zeppelin/pull/2284
[2]
https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#setAutoCommit-boolean-


-- 
Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle Software
Engineer | Pivotal <http://pivotal.io/>

Reply via email to