Skip to content

[1.4.0] Queries don’t terminate since type change of .arrow() #85

@Dino-Burger

Description

@Dino-Burger

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?

  • Yes, I have

Did you include all relevant configuration to reproduce the issue?

  • Yes, I have

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions