-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FlightSQL] Support DoExchange
(in addition to DoPut
) to bind parameters and execute prepared statements
#37741
Comments
SGTM We should add flags in (the awkwardly named) SqlInfo to indicate support for these as we did with other new features |
+1 and I agree with @lidavidm that we should add flags to SqlInfo |
I have started looking into implementing this on the Go client side, and I'm running into some difficulties. Namely, the existing interface for Of course, one can always drop down to raw Flight/FlightSQL calls without using the abstraction of prepared statement "handles", but this just moves complexity to consumers of the library and makes me worry if the So we have a few options:
@alamb do you have any thoughts on this? |
@suremarc can you remind me why we would need to pass a For example DoExchange Line 127 in aded7bf
Sends a stream of Lines 495 to 520 in aded7bf
And the Line 310 in aded7bf
FYI @kallisti-dev who is also working on stateless prepared statement execution |
@alamb I think we are on the same page that For example, see the Go prepared statement implementation: |
How about just returning |
Ah, we may want to return |
I always think of Thus if there is no subsequent calls (just |
Describe the enhancement requested
As suggested by @kou on #37720 (comment)
Usecase
Background
Currently FlightSQL requires three messages to run a prepared statement.
DoPut
, then aGetFlightInfo
and then aDoGet
:Proposal
By supporting
DoExchange
instead ofDoPut
+GetFlightInfo
+DoGet
only a single round trip is needed:Benefits:
Drawbacks:
Component(s)
FlightRPC
The text was updated successfully, but these errors were encountered: