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)