Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-18296

[Java][FlightRPC] FlightSQL JDBC precludes other JDBC drivers on the same JVM

    XMLWordPrintableJSON

Details

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              lidavidm David Li
              jarohen James Henderson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m