lidavidm commented on issue #2709:
URL: https://github.com/apache/arrow-adbc/issues/2709#issuecomment-2817849554

   Putting things together we need the following:
   
   - Executing a SQL query can either give you partitions or (multiple) result 
sets
     - Maybe this can be unified to giving you a list of "promise" objects that 
can be either immediately consumed to get a (partition of a) result set, or 
serialized into a partition (if supported)
     - This does lead to more API calls, though...
   - Each result set needs to have a requested schema bound (so the driver can 
convert if it's able to/if there are potentially multiple valid Arrow types for 
a column) 
   - Result streams should use the async device interface, which handles 
backpressure already
   - Cancelling the statement will cancel the entire query?
   - Dropping a substream shouldn't cancel the entire query?
   - Do we need some way to potentially retry a stream, and ideally retrying a 
stream from a given (row) offset?
     - Some of these questions may be specific to Flight SQL, but I think it 
generally applies to any sort of newfangled system with a REST or gRPC API 
instead of an old-school database protocol
   - We won't support seeking through streams (aka no actual cursors)
   - We should standardize that readers should be safe to use if ADBC objects 
are released (but they may error instead of producing data and/or ADBC objects 
may error on release if there are unclosed streams)


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to