James Henderson created ARROW-18296: ---------------------------------------
Summary: [Java][FlightRPC] FlightSQL JDBC precludes other JDBC drivers on the same JVM Key: ARROW-18296 URL: https://issues.apache.org/jira/browse/ARROW-18296 Project: Apache Arrow Issue Type: Bug Components: FlightRPC, Java Affects Versions: 10.0.0 Reporter: James Henderson The contract of `java.sql.Driver/connect` says that the driver should return null if it realises it's the wrong kind of driver to handle the connection - unfortunately the override in `ArrowFlightJdbcDriver` throws an exception if the scheme isn't {{arrow-flight}} or {{arrow-flight-sql}}. So, if I'm trying to connect to (e.g.) postgres and the Arrow Flight driver happens to be first in the java.sql.DriverManager's list, I'll get a {{URL Scheme must be 'arrow-flight'.}} error. We could consider a similar pattern to Avatica's {{UnregisteredDriver/connect}}, which checks `{{acceptsURL}}` first and returns null if appropriate? (Separately, I suspect that error message should say {{arrow-flight-sql}}, given {{arrow-flight}} seems to be deprecated?) Cheers, James -- This message was sent by Atlassian Jira (v8.20.10#820010)