Replies: 1 comment
|
I can't reproduce this (anymore). Also, streaming results are getting a major overhaul. If there are issues post v2.0 (or in the v1.5.x line) then feel free to file an issue. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi, I see in this PR that streaming results for the python client was implemented back in 2023 (duckdb/duckdb#6346). However, this doesn't seem to work with read_blob and even though object results are streamed, the memory is loaded for the full query result on first fetch (not sure if this is expected/a bug or not). Given the following query (through the python client):
When I do
xx.fetchone()(or any otherxx.fetch*method) it seems to load all the data for the full query into memory first, instead of just that row or chunk. (For the record memory streaming does work properly withread_parquet)As a work around for now, what I can do is to query with
EXCLUDE contentand then iterate through the result in whatever chunk size I want and read_blob with that chunks filenames including content. But I'm wondering if there is a first class supported way to stream the results in memory.(Not sure if this is a python client specific issue, or an underlying duckdb engine issue)
Full repro (ran on google colab):
And thank you for all the amazing work on duckdb!
All reactions