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]

Reply via email to