kou commented on issue #37720:
URL: https://github.com/apache/arrow/issues/37720#issuecomment-1720662204

   I agree that the proposed approach will work.
   
   I thought of some more approaches:
   
   1. How about returning `FlightInfo` by `DoPut` (making `GetFlightInfo` call 
omittable) for this use case?
   
      ```proto
      message DoPutStatementPrepareResult {
        option (experimental) = true;
   
        // If FlightInfo is returned in `DoPut`, the client doesn't call 
`GetFlightInfo` explicitly.
        // Instead, the client can use the returned FlightInfo.
        FlightInfo info = 1;
      }
      ```
   
      With this approach, parameters aren't needed to send-back to client-side 
but it breaks consistency. (`FlightInfo` may be returned from non 
`GetFlightInfo` call.)
   
   2. How about using `DoExchange` 
https://arrow.apache.org/docs/format/Flight.html#exchanging-data instead of 
`DoPut` + `GetFlightInfo` + `DoGet` for this use case?
   
      With this approach, parameters aren't needed to send-back to client-side 
but the query execution result can be returned by only one server.


-- 
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]

Reply via email to