Can sqlite3_step stream the results of a query from disk in some cases, without loading them all into memory at once?
For example
SELECT * FROM my_table ORDER BY rowid
would this load all the results into memory before the first call to sqlite3_step has returned?
Even if no, are there other cases when all results would be loaded into memory at once? How can this be predicted ahead of time?
My aim here is to understand how SQLite uses memory internally, with a view to using it in a memory constrained environment