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]
