This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 890823b6bc feat(flight-sql): Allow custom commands in get-flight-info
(#4997)
890823b6bc is described below
commit 890823b6bcb9e43c9b8eacd6f21f5f6165ef1376
Author: Andre Martins <[email protected]>
AuthorDate: Mon Oct 30 11:32:24 2023 +0000
feat(flight-sql): Allow custom commands in get-flight-info (#4997)
---
arrow-flight/src/sql/server.rs | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/arrow-flight/src/sql/server.rs b/arrow-flight/src/sql/server.rs
index 14ab7d81b4..f1656aca88 100644
--- a/arrow-flight/src/sql/server.rs
+++ b/arrow-flight/src/sql/server.rs
@@ -225,6 +225,18 @@ pub trait FlightSqlService: Sync + Send + Sized + 'static {
))
}
+ /// Implementors may override to handle additional calls to
get_flight_info()
+ async fn get_flight_info_fallback(
+ &self,
+ cmd: Command,
+ _request: Request<FlightDescriptor>,
+ ) -> Result<Response<FlightInfo>, Status> {
+ Err(Status::unimplemented(format!(
+ "get_flight_info: The defined request is invalid: {}",
+ cmd.type_url()
+ )))
+ }
+
// do_get
/// Get a FlightDataStream containing the query results.
@@ -616,10 +628,7 @@ where
Command::CommandGetXdbcTypeInfo(token) => {
self.get_flight_info_xdbc_type_info(token, request).await
}
- cmd => Err(Status::unimplemented(format!(
- "get_flight_info: The defined request is invalid: {}",
- cmd.type_url()
- ))),
+ cmd => self.get_flight_info_fallback(cmd, request).await,
}
}