geoffreyclaude opened a new pull request, #23907:
URL: https://github.com/apache/datafusion/pull/23907

   ## Which issue does this PR close?
   
   - Follow-up to #23014.
   - Part of #19241.
   
   ## Rationale for this change
   
   The branchless filter added in #23014 is a self-contained strategy, but its
   implementation currently shares `primitive_filter.rs` with the bitmap and 
hash
   filters. Moving it into a dedicated module keeps each strategy easier to 
find,
   read, and maintain.
   
   The new module also gives the branchless path a natural home for a short,
   approachable explanation of what “branchless” means here, why it is useful 
for
   small fixed-width lists, and how comparison representations and nulls are
   handled.
   
   Separately, the constructor's defensive list-size check currently returns an
   execution error. Reaching that check means an internal routing invariant was
   violated, so it should be classified as an internal error instead.
   
   ## What changes are included in this PR?
   
   - Extracts `BranchlessFilter` and its tests from `primitive_filter.rs` into a
     dedicated `branchless_filter.rs` module.
   - Adds module-level documentation for the branchless comparison strategy,
     including its list-size thresholds, same-width comparison representations,
     and null behavior.
   - Changes the defensive branchless list-size error from an execution error to
     an internal error.
   - Keeps strategy selection, thresholds, comparison behavior, and null 
semantics
     unchanged.
   
   ## Are these changes tested?
   
   Yes.
   
   - `cargo fmt --all`
   - `cargo test -p datafusion-physical-expr expressions::in_list --lib`
   - `cargo clippy --all-targets --all-features -- -D warnings`
   - `RUST_BACKTRACE=1 cargo test --profile ci --exclude datafusion-examples 
--exclude datafusion-benchmarks --exclude datafusion-cli --workspace --lib 
--tests --bins --features 
avro,json,backtrace,extended_tests,recursive_protection,parquet_encryption`
   
   ## Are there any user-facing changes?
   
   No. This is an internal refactor and error-classification correction.
   


-- 
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