Khue Dang created ZEPPELIN-6208:
-----------------------------------
Summary: Enable DuckDB support in JDBC Interpreter by excluding
incompatible default properties
Key: ZEPPELIN-6208
URL: https://issues.apache.org/jira/browse/ZEPPELIN-6208
Project: Zeppelin
Issue Type: Improvement
Components: JdbcInterpreter
Affects Versions: 0.12.0
Reporter: Khue Dang
Attachments: image-2025-06-28-23-27-24-861.png,
image-2025-06-28-23-47-17-888.png, image-2025-06-28-23-51-06-426.png
*Summary:*
DuckDB's JDBC driver is currently not compatible with Apache Zeppelin's JDBC
interpreter due to three default properties being passed automatically:
* {{url}}
* {{driver}}
* {{completer.ttlInSeconds}}
These properties are not valid for DuckDB and result in the following error
when attempting a connection:
!image-2025-06-28-23-27-24-861.png!
*Improvement Proposal:*
[Similar to the case Presto and Trino
drivers|[https://github.com/apache/zeppelin/blob/7a97ffe11da01faebf04a178bffdfa3c0ca0abe9/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java#L485-L498],]
we can add another block of code to remove the incompatible default properties
from the connection {{Properties}} object.
Alternatively, we can add a comma separated list property to JDBC Interpreter
that contain a list of properties that would not be passed onto the JDBC Driver
when making connection. By doing this, there may be fewer changes to the source
code for JDBC Interpreter when a new type of Database comes up.
*Reproduce*
Create a new JDBC interpreter with the following settings
* default.url `jdbc:duckdb:`
* default.driver `org.duckdb.DuckDBDriver`
* Artifact `org.duckdb:duckdb_jdbc:1.3.1.0 `
Create a new notebook using the newly created DuckDB interpreter.
Run a SQL query in the created notebook
!image-2025-06-28-23-51-06-426.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)