peterxcli opened a new pull request, #5174:
URL: https://github.com/apache/datafusion-comet/pull/5174

   ## Which issue does this PR close?
   
   Closes #5100.
   
   ## Rationale for this change
   
   `list_extract` gathered one element per row with repeated 
`MutableArrayData::extend` calls. Arrow's `take` kernel can perform the gather 
in one operation while preserving the existing row-ordered validation and error 
behavior.
   
   ## What changes are included in this PR?
   
   - Build a `UInt64Array` of flat value indices and a separate out-of-bounds 
default mask.
   - Gather elements with Arrow `take`, then substitute defaults with `zip` 
only for non-null-list, non-null-ordinal out-of-bounds rows.
   - Strengthen the null-ordinal unit test with a non-null default value.
   
   ## How are these changes tested?
   
   - `cargo fmt --all -- --check`
   - `cargo test -p datafusion-comet-spark-expr --lib` (566 tests passed)
   - `cargo clippy -p datafusion-comet-spark-expr --lib --tests -- -D warnings`
   


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