Skip to content

Arrow Pushdowns fail when *any* column is a string_view #227

@paultiq

Description

@paultiq

What happens?

When any column is a string_view, Arrow pushdowns fail... even if the pushdown expression doesn't involve a string_view.

Related to #187, although Vortex actually doesn't fail the below case.

To Reproduce

import pyarrow as pa
import duckdb
print(f"{duckdb.__version__=}")
arrow_table = pa.table({"id": [1], "name": ["something"]}, schema=pa.schema([("id", pa.int64()), ("name", pa.string_view())]))
print(arrow_table.schema)
duckdb.execute("SELECT * FROM arrow_table WHERE id > 90").fetchall()

duckdb.version='1.4.4.dev11'
id: int64
value: string_view
...
_duckdb.InvalidInputException: Invalid Input Error: arrow_scan: get_next failed(): NotImplemented: Function 'array_filter' has no kernel matching input types (string_view, bool)

OS:

Linux

DuckDB Package Version:

1.4.4.dev11

Python Version:

3.13

Full Name:

Paul T

Affiliation:

Iqmo

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions