alamb commented on issue #6156: URL: https://github.com/apache/arrow-rs/issues/6156#issuecomment-2264003877
The way I think about this is that `ArrowFlight` isn't really a protocol itself, but rather the building blocks to create a protocol that can send Arrow RecordBatches back and forth. Most of the underlying functiions in `ArrowFlight` such as `DoGet` provide a way to pass "Opaque" payloads like `Tickets` `ArrowFlightSQL` is a protocol that is built on top of `ArrowFlight` and basically defines the structure of these opaque payloads. For example, the `Ticket` sent to `DoGet` in `FlightSQL` is one of several message types defined in the FlightSQL spec The `FlightSQLService` is trying to make it easier to use flightsql by handling the decoding and dispatching of the FligthSQL messages. For example, here is the dispatch for `DoGet`: https://github.com/apache/arrow-rs/blob/95ef912632f38b7baf083fb685d6a04d6805f6cd/arrow-flight/src/sql/server.rs#L658-L689 `do_get_fallback` is invokved when the `FlightSQLService` gets a message it doesn't know how to handle, and let's the implementor provide their own handling for unknown messages if desired One usecase of this is to allow people to extend the DoGet method to accept more message types than are defined nin FlightSQL Hopefully tat makes senes -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
