Closed
Description
There are several options for running SQL and consuming results, with different tradeoffs:
- Materializing versus streaming mode (i.e.
stream
vsrun
) - Manual versus automatic running of tasks (i.e.
run
orstream
vsstart
orstartStream
) - Fetching chunks versus using the reader (i.e.
fetchChunk
versus the variousread
methods) - Value extraction versus conversion to arrays (i.e.
DuckDBVector.getItem
or DuckDBResultReader.valueversus
getRowsor
getColumns`)
What each of these choices mean, what the tradeoffs are, and how they are expressed in the API should be better documented. This likely involves both additional high-level documentation plus more class and method level documentation, both in doc comments and in some sort of API reference.