Skip to content

Commit a2c0c8a

Browse files
Refactor InListExpr into static-filter modules (apache#21649)
## Which issue does this PR close? - Part of apache#19241. ## Rationale for this change This PR is a preparatory refactor for [apache#19390](apache#19390). `InListExpr` currently mixes expression evaluation, constant-list filter construction, primitive-vs-fallback dispatch, and generic fallback execution in one file. This PR extracts the existing static-filter code into smaller internal modules while preserving the current behavior. ## Review guide This PR is intended to be a move/extract-only refactor. The main review question is whether the existing `InListExpr` static-filter behavior has been preserved while making the internal structure easier to follow. In particular: - `in_list.rs` still owns `InListExpr` construction and evaluation - `primitive_filter.rs` contains the existing primitive numeric static-filter implementations moved out of `in_list.rs` - `array_static_filter.rs` contains the existing `ArrayStaticFilter` fallback moved out of `in_list.rs` - `strategy.rs` contains the existing dispatch between primitive filters and `ArrayStaticFilter` - `static_filter.rs` defines the shared internal trait used by those extracted pieces No user-facing behavior or API changes are intended in this PR. ## Are these changes tested? Yes. I validated this PR with: - `cargo fmt --all` - `cargo clippy -p datafusion-physical-expr --all-targets --all-features -- -D warnings` - `cargo test -p datafusion-physical-expr --all-features` ## Are there any user-facing changes? No. This is an internal refactor only. Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
1 parent 0ebecd5 commit a2c0c8a

5 files changed

Lines changed: 589 additions & 486 deletions

File tree

0 commit comments

Comments
 (0)