Skip to content

perf: Pushdown filter(False) to pyiceberg#25682

Open
kevinjqliu wants to merge 1 commit intopola-rs:mainfrom
kevinjqliu:kevinjqliu/iceberg-filter-true-false
Open

perf: Pushdown filter(False) to pyiceberg#25682
kevinjqliu wants to merge 1 commit intopola-rs:mainfrom
kevinjqliu:kevinjqliu/iceberg-filter-true-false

Conversation

@kevinjqliu
Copy link
Copy Markdown
Contributor

Closes apache/iceberg-python#2681

Converts top-level true/false to pyiceberg's AlwaysTrue / AlwaysFalse. PyIceberg's scan function expects AlwaysTrue/AlwaysFalse (as BooleanExpression) instead of true/false boolean.

For cases such as

    pl.scan_iceberg(table, storage_options=storage_options)
    .filter(pl.lit(True))
    .explain()

    pl.scan_iceberg(table, storage_options=storage_options)
    .filter(pl.lit(False))
    .explain()

@kevinjqliu
Copy link
Copy Markdown
Contributor Author

im having trouble with the test_scan_iceberg_filter_on_true_false test case. scan_iceberg().filter(pl.lit(False)) is not returning 0 records

@kevinjqliu
Copy link
Copy Markdown
Contributor Author

@nameexhaustion nameexhaustion self-assigned this Dec 8, 2025
@nameexhaustion nameexhaustion added P-low Priority: low A-io-iceberg Related to Apache Iceberg tables. labels Dec 9, 2025
@nameexhaustion nameexhaustion changed the title iceberg: map top-level true/false to pyiceberg's AlwaysTrue/AlwaysFalse perf: Pushdown filter(False) to pyiceberg Dec 9, 2025
@github-actions github-actions Bot added performance Performance issues or improvements python Related to Python Polars rust Related to Rust Polars and removed title needs formatting labels Dec 9, 2025
@nameexhaustion nameexhaustion removed their assignment Dec 9, 2025
@nameexhaustion nameexhaustion removed the P-low Priority: low label Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-io-iceberg Related to Apache Iceberg tables. performance Performance issues or improvements python Related to Python Polars rust Related to Rust Polars

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(expressions/visitor): add support for bool

2 participants