`FlightSqlServiceClient`: response metadata
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 169
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
The gRPC response metadata of some FlightSQL servers contains useful information like date/time, software versions, or trace IDs. Users may either use this directly or at least log it, e.g. in case of the [CLI client](https://github.com/apache/arrow-rs/pull/3789).
**Describe the solution you'd like**
It would be useful if the methods in `FlightSqlServiceClient` (e.g. `execute`) would return the metadata alongside the deserialized body (`FlightInfo` in case of `metadata`). This could either be part of the default methods (return a tuple) or we could have every method twice, e.g. `execute` and `execute_return_md` (naming to be decided).
I personally would prefer NOT to double the method count.
**Describe alternatives you've considered**
Not implementing this because it's "too low level" and have people write their own client if they need this feature. The fact that the demo CLI client already could use this and the feature is missing however makes me think that this should be a builtin feature.
**Additional context**
\-
Contributor guide
Research direction
Start with the FlightSqlServiceClient entry points, especially execute and the other methods that deserialize FlightSQL responses, then inspect the CLI client use case linked in the issue. Determine how gRPC response metadata is exposed alongside each response and settle on a consistent API shape; done means callers can access that metadata without implementing a separate client.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, rust, sql
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100