ADBC-JDBC to implement the actual JDBC Interfaces so that this will work with any app that expects proper JDBC interfaces
- Dominant language
- C#
- Stars
- 627
- Forks
- 217
- Avg merge
- 17h
- Merged PRs (30d)
- 57
Description
### What feature or improvement would you like to see?
- It would be nice if the ADBC-JDBC interface implemented the actual Java JDBC api interfaces:
- https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html
- For example
- [org.apache.arrow.adbc.driver.jdbc.JdbcDriver](https://github.com/apache/arrow-adbc/blob/fa8498f39fa69e01cdf2c5557e15cd4e6dc0fac2/java/driver/jdbc/src/main/java/org/apache/arrow/adbc/driver/jdbc/JdbcDriver.java)
- should implement
- [java.sql.Driver](https://docs.oracle.com/javase/8/docs/api/java/sql/Driver.html)
- [org.apache.arrow.adbc.driver.jdbc.JdbcConnection](https://github.com/apache/arrow-adbc/blob/fa8498f39fa69e01cdf2c5557e15cd4e6dc0fac2/java/driver/jdbc/src/main/java/org/apache/arrow/adbc/driver/jdbc/JdbcConnection.java)
- should implement
- [java.sql.Connecton](https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html)
- [org.apache.arrow.adbc.driver.jdbc.JdbcStatement](https://github.com/apache/arrow-adbc/blob/fa8498f39fa69e01cdf2c5557e15cd4e6dc0fac2/java/driver/jdbc/src/main/java/org/apache/arrow/adbc/driver/jdbc/JdbcStatement.java)
- should implement
- [java.sql.Statement](https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html)
- [org.apache.arrow.adbc.core.AdbcStatement.QueryResult](https://github.com/apache/arrow-adbc/blob/main/java/core/src/main/java/org/apache/arrow/adbc/core/AdbcStatement.java#L184-L212)
- should implement
- [java.sql.ResultSet](https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html)
- And so forth. Then any tooling that expects to instantiate a jdbc connection from a jdbc driver, should 'just work' from the normal java jdbc interfaces.
Contributor guide
Research direction
Start with java/driver/jdbc/src/main/java/org/apache/arrow/adbc/driver/jdbc/JdbcDriver.java, JdbcConnection.java, and JdbcStatement.java, then compare their APIs with the linked java.sql interfaces. Review java/core/src/main/java/org/apache/arrow/adbc/core/AdbcStatement.java and its QueryResult type. Done means the relevant ADBC-JDBC classes implement the corresponding JDBC interfaces so applications expecting standard JDBC types can use them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100