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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: N/A
   
   Problem Summary:
   
   This PR adds a builtin 128-bit MurmurHash3 scalar function, 
`murmur_hash3_128`, for callers that need a wider hash value than the existing 
32-bit and 64-bit variants.
   
   | File | Change Description |
   |------|--------------------|
   | `be/src/exprs/function/function_hash.cpp` | Adds BE implementation for 
`murmur_hash3_128`, returning LARGEINT. |
   | `be/test/exprs/function/function_hash_test.cpp` | Adds unit coverage for 
constant and multi-argument hash cases. |
   | `BuiltinScalarFunctions.java` | Registers the Nereids scalar function. |
   | `MurmurHash3128.java` | Adds FE scalar function metadata and signatures. |
   | `ScalarFunctionVisitor.java` | Adds visitor entry for the new scalar 
function. |
   
   Design rationale: the function reuses the existing MurmurHash3 x64 128-bit 
processing path in BE and exposes the packed 128-bit result as LARGEINT, 
matching Doris' existing signed 128-bit integer representation.
   
   ### Release note
   
   Support `murmur_hash3_128` function.
   
   ### Check List (For Author)
   
   - Test
       - [ ] Regression test
       - [x] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason
   
   Unit tests run locally:
   
   - `./run-fe-ut.sh --coverage --run 
org.apache.doris.nereids.rules.analysis.FunctionRegistryTest` passed.
   - `./run-be-ut.sh --run '--filter=HashFunctionTest.*'` was attempted, but 
the local worktree failed before compilation while downloading the `apache-orc` 
submodule from GitHub.
   
   - Behavior changed:
       - [ ] No.
       - [x] Yes. Adds a new builtin scalar function.
   
   - Does this need documentation?
       - [ ] No.
       - [x] Yes. Function documentation should be added if this PR is kept 
beyond CI validation.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label


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