geoffreyclaude opened a new pull request, #21932: URL: https://github.com/apache/datafusion/pull/21932
## Which issue does this PR close? - Part of #19241. - Addresses the duplication called out in https://github.com/apache/datafusion/pull/21649#discussion_r3147801133. ## Rationale for this change The existing primitive `IN LIST` static filters have separate integer and float macros. The float version exists only to wrap values in `OrderedFloat*` for hash/equality semantics, but the rest of the implementation is copied from the integer path, including the SQL three-valued-logic result construction. This PR removes that duplication independently from the larger and more controversial direct-probe optimization in #19390. ## What changes are included in this PR? - Adds a shared helper for building `BooleanArray` results from static-filter membership checks. - Replaces the separate integer and float static-filter macros with one macro parameterized by the stored `HashSet` value type and conversion function. - Preserves the existing `HashSet` lookup strategy and `OrderedFloat*` bit-pattern handling for `Float32` / `Float64`. - Does not introduce bitmap, branchless, direct-probe, or string-filter optimizations. ## 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 in_list` I also ran the repository-mandated full workspace command: - `cargo clippy --all-targets --all-features -- -D warnings` That command currently fails in the `datafusion-benchmarks` target because `snmalloc` and `mimalloc` are both enabled together, producing duplicate global allocator errors in `benchmarks/src/bin/dfbench.rs`. This appears unrelated to this PR, and the touched `datafusion-physical-expr` crate passed the focused clippy command above. ## Are there any user-facing changes? No. This is an internal refactor only. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
