-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-15721: [Docs][FlightRPC] Add Flight/Flight SQL to subprojects #12573
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
Conversation
|
I would like to add sequence diagrams, how do we feel about something like sphinxcontrib-mermaid? |
|
CC @jduo if you'd like to take a look |
docs/source/format/FlightSql.rst
Outdated
| Generally, a database will implement the RPC methods according to the | ||
| specification, but does not need to implement a client-side driver. A | ||
| database client can use the provided Flight SQL client to interact | ||
| with any database that supports the necessary endpoints. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's mention that Flight SQL clients decorate existing Flight client classes to add methods corresponding to the new RPC calls.
Co-authored-by: James Duong <duong.james@gmail.com>
|
Thanks for the suggestions! |
Looks interesting. @jorisvandenbossche What do you think? |
pitrou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition, thank you.
| ``CommandPreparedStatementQuery`` | ||
| Execute a previously created prepared statement and get the results. | ||
|
|
||
| When used with DoPut: binds parameter values to the prepared statement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So one must call first DoPut then GetFlightInfo to execute a query with parameters? Wouldn't it be nicer to be able to use DoExchange for that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this was considered during the initial discussion but was rejected; @jduo do you remember why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, it was due to output parameters potentially changing the schema mid-stream. #9368 (comment)
| Create a new prepared statement for a SQL query. | ||
|
|
||
| ``CommandPreparedStatementQuery`` | ||
| Execute a previously created prepared statement and get the results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this also close the prepared statement or can it be reused multiple times?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is reusable (else, you don't save much from having a prepared statement).
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
|
@jduo @pitrou any other comments here? I think we can use ARROW-14698 to expand the documentation once this lands |
| All of these commands can be used with the GetFlightInfo and GetSchema | ||
| RPC methods. The Protobuf request message should be packed into a | ||
| google.protobuf.Any message, then serialized and packed as the ``cmd`` | ||
| field in a CMD-type FlightDescriptor. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the record, would there be an easy way to cross-reference the table definitions in the Flight protobuf file (such as FlightDescriptor here)? I guess not, but just asking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, we would probably need to have Sphinx index the Protobuf file somehow and then use Sphinx's cross-reference support. Unfortunately there doesn't seem to be such integration from a quick glance (and if we wanted to do it, we would need to create a custom Protobuf plugin or modify the existing one (which supports neither Doxygen nor Sphinx): https://github.com/pseudomuto/protoc-gen-doc/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That may be worthwhile, though, since then we could avoid repeating docs between both files.
pitrou
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
|
Benchmark runs are scheduled for baseline = 875af62 and contender = 76b1403. 76b1403 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Adds a Flight SQL documentation page that we can link to from the website.