Skip to content

Add tests for IN-list filter pruning and NOT filter behavior #124

@alxmrs

Description

@alxmrs

Problem

The TestFilterPushdown suite is missing coverage for two cases:

1. IN-list pruning

The Rust in_list_excludes() method is implemented but never exercised by tests. A test should verify that WHERE dim IN (v1, v2) prunes partitions where none of v1, v2 fall within the partition range.

Example: 4 time partitions, WHERE time IN ('2020-01-05', '2020-01-10') should read only partition 0.

2. NOT filter behavior

The Expr::Not arm previously had a correctness bug (now fixed). A regression test should verify:

  • NOT (col > X) correctly includes partitions containing values ≤ X
  • NOT (col < X) correctly includes partitions containing values ≥ X

Why now

Adding these tests serves as a regression guard to confirm that the Expr::Not fix remains correct and that IN-list pruning works as advertised. Without them, future changes to the pruning logic could silently regress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions