weimingdiit opened a new pull request, #2424:
URL: https://github.com/apache/auron/pull/2424

   
   # Which issue does this PR close?
   
   Closes #2419 
   
   **Rationale for this change**
   Auron's sort merge join uses encoded Arrow rows for join key comparison and 
uses RowNullChecker to skip rows with null join keys.
   
   RowNullChecker previously inspected Arrow row bytes manually. This is 
fragile for complex row encodings such as struct, list, and dictionary, because 
their layout is controlled by Arrow RowConverter and should not be interpreted 
with fixed or estimated field lengths.
   
   This can cause RowNullChecker to mis-detect null join keys for complex key 
types.
   
   **What changes are included in this PR?**
   Adds an Arrow RowConverter to RowNullChecker.
   Updates RowNullChecker's `has_nulls` path to decode Rows through Arrow 
RowConverter before building the null-key mask.
   Preserves conservative join key null semantics:
   top-level null key values are treated as null join keys
   nested null fields or elements inside non-null struct/list keys do not make 
the key null
   Keeps the existing RowNullChecker public method signatures unchanged.
   Keeps the existing byte-level helper path unchanged.
   Adds unit coverage for complex struct, list, and dictionary key rows.
   
   **Are there any user-facing changes?**
   No user-facing API changes.
   
   **How was this patch tested?**
   UT.
   
   **Was this patch authored or co-authored using generative AI tooling?**
   - [x] Yes
   - [ ] No
   Generated-by: OpenAI Codex (GPT-5)


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

Reply via email to