What happens?
Duckdb changed the return type of arrow() from a pyarrow table to a RecordBatchReader.
The consequence of this is that some queries don’t terminate.
import duckdb
xxx = duckdb.sql("From range(5) T(a)")
yyy = xxx.arrow()
# works fine
duckdb.sql("From xxx")
# never terminates
duckdb.sql("From yyy")
# works fine
zzz = xxx.fetch_arrow_table()
duckdb.sql("From zzz")
It would be great if the query From yyy would throw an error instead of not terminating, for example
The table yyy is a RecordBatchReader which is not supported form replacement scans. Please use fetch_arrow_table() instead of fetch_record_batch() (or .arrow()).
To Reproduce
Execute above code in a venv with duckdb and pyarrow installed.
OS:
Windows
DuckDB Package Version:
1.4.0
Python Version:
3.13.2
Full Name:
Dino Burger
Affiliation:
None
What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.
I have tested with a nightly build
Did you include all relevant data sets for reproducing the issue?
Yes
Did you include all code required to reproduce the issue?
Did you include all relevant configuration to reproduce the issue?
What happens?
Duckdb changed the return type of
arrow()from a pyarrow table to a RecordBatchReader.The consequence of this is that some queries don’t terminate.
It would be great if the query
From yyywould throw an error instead of not terminating, for exampleTo Reproduce
Execute above code in a venv with duckdb and pyarrow installed.
OS:
Windows
DuckDB Package Version:
1.4.0
Python Version:
3.13.2
Full Name:
Dino Burger
Affiliation:
None
What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.
I have tested with a nightly build
Did you include all relevant data sets for reproducing the issue?
Yes
Did you include all code required to reproduce the issue?
Did you include all relevant configuration to reproduce the issue?