HappenLee opened a new pull request, #66148:
URL: https://github.com/apache/doris/pull/66148

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #65975
   
   **Note: This PR is stacked on #65975 and currently contains its commit. Only 
the top commit (`Match null-safe keys through the null bucket`) is new; the 
diff will shrink to a single commit once #65975 merges.**
   
   Problem Summary: The existing single-column null-safe join fix canonicalizes 
the physical payload of null keys before raw key comparison. That approach 
still depends on type-specific default-value rewriting and scans or mutates the 
whole nullable key column on both build and probe sides.
   
   The hash table already routes these rows to a dedicated null bucket. 
Introduce explicit discard, null-safe equality, and null-aware bucket modes. A 
null-safe probe now matches the dedicated bucket chain directly without 
invoking key equality, while null-aware joins keep their separate ternary-logic 
path. Remove column default-value replacement and string-specific key 
canonicalization so correctness no longer depends on the nested payload of a 
null row. Also drop the now-unused keep_null_key() accessor.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test:
       - Unit Test: Added 
HashTableMethodTest.testJoinNullBucketMatchesWithoutKeyNormalization, compiled 
with ASAN and -Werror (not executed locally).
       - Build: Compiled the hash join build/probe objects and all affected 
join template instances with ASAN and -Werror.
       - Static Analysis: clang-format 16, clang-tidy, and git diff checks 
passed for all modified files.
   - Behavior changed: No - preserves the corrected single-column null-safe 
equality result while changing the implementation to use null-bucket semantics.
   - Does this need documentation: No


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