Uh oh!
There was an error while loading. Please reload this page.
ARROW-15721: [Docs][FlightRPC] Add Flight/Flight SQL to subprojects - #12573
ARROW-15721: [Docs][FlightRPC] Add Flight/Flight SQL to subprojects#12573lidavidm wants to merge 5 commits into
Conversation
lidavidm
commented
Mar 5, 2022
I would like to add sequence diagrams, how do we feel about something like sphinxcontrib-mermaid? |
lidavidm
commented
Mar 5, 2022
CC @jduo if you'd like to take a look |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| 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.
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>
lidavidm
commented
Mar 7, 2022
Thanks for the suggestions! |
pitrou
commented
Mar 7, 2022
Looks interesting. @jorisvandenbossche What do you think? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| ``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.
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.
I believe this was considered during the initial discussion but was rejected; @jduo do you remember why?
There was a problem hiding this comment.
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.
Does this also close the prepared statement or can it be reused multiple times?
There was a problem hiding this comment.
It is reusable (else, you don't save much from having a prepared statement).
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
lidavidm
commented
Mar 9, 2022
@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.
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.
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.
That may be worthwhile, though, since then we could avoid repeating docs between both files.
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.