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)

Reply via email to