[FlightRPC][FlightSQL][Java] Make FlightSqlClientDemo a general purpose tool
- Dominant language
- Java
- Stars
- 94
- Forks
- 152
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 11
Description
The FlightSqlClientDemo test program has a limited set of options that prevents it from being used against production databases. It does work against the Derby and SQLite examples though.
The major limitation is that there is no way to supply authentication information. The proposal here is to add support for passing in HTTP basic credentials and Authorization: Bearer headers.
Another useful feature would be an option to supply arbitrary headers (as a way of support server-specific options).
Lastly, it would be good to add an interactive mode that just ran the tool in a loop based on user input (and use ClientCookieMiddleware in this mode to persist state).
A shaded configuration of the flight-sql module that set this tool's main function as the JAR entry point would make it more friendly to run as well.
This would make the tool comparable to SQLLine.
**Reporter**: [James Duong](https://issues.apache.org/jira/browse/ARROW-15843) / @jduo
**Note**: *This issue was originally created as [ARROW-15843](https://issues.apache.org/jira/browse/ARROW-15843). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start by locating the FlightSqlClientDemo test program and the flight-sql module configuration. Review how ClientCookieMiddleware could support the proposed interactive mode, then define the scope for credentials, bearer and arbitrary headers, interactive execution, and the shaded JAR entry point. Done means the tool supports the selected options and can be run conveniently against production databases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100