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)

Reply via email to