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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: #68704
   
   Backport of #68704 to `branch-4.2`, cherry-picked from 
`c9c85e75539b31a3bae8d2e97bd0d16fcbfc98fa` with source attribution (`-x`). This 
branch is based directly on `apache/doris:branch-4.2` and is independent of the 
other backports.
   
   Reject incompatible indexed ANY arguments during FE analysis instead of 
allowing unresolved UUID/integer array combinations to reach BE. Hash all 128 
UUID bits in default hashing and array set/map functions to avoid excessive 
collisions for values sharing their low 64 bits.
   
   ### Branch-4.2 adaptations
   
   The 4.2 array legality checks already accept UUID, so the master-only 
ArrayFunctionUtils validation helpers are not introduced. Preserved existing 
4.2 UUID tests and added coverage for 14 supported array call forms. Omitted 
array_except_all because it does not exist on 4.2; removed its three result 
columns from the SQL query and the corresponding upstream expected row. The 
doc_array_functions_test suite also does not exist on 4.2, so its message-only 
changes are omitted.
   
   ### Release note
   
   Reject incompatible UUID/integer array arguments during analysis and avoid 
excessive hash collisions in UUID array functions.
   
   ### Validation
   
   - Checkstyle 9.3 with the repository configuration passed for both changed 
Java files (run directly using cached Checkstyle dependencies).
   - Verified that the supported UUID functions and indexed ANY coercion APIs 
exist on 4.2; reviewed full-width hashing and the projected regression 
expectations.
   - Whitespace/conflict-marker checks passed (allowing the standard trailing 
blank line in regression `.out` files).
   - Exactly one backport commit on top of 
`7523405f6aa8e9df3d110eb432fed1ff6e1c3418`; clean worktree.
   - Full builds, unit tests and SQL regression suites were not run for this 
backport on this macOS host. The local environment lacks the required JDK 
17/full Doris build dependencies; the offline Maven attempt could not resolve 
the required BOMs. Submodules remain uninitialized.
   
   FE UUID/coercion tests, BE hash/probe-growth tests and UUID array regression 
coverage from the original PR are included, adapted to functions available on 
4.2.
   
   ### Check List (For Author)
   
   - Test: existing upstream unit/regression coverage included; local checks 
and execution limits are listed above.
   - Behavior changed: Yes; restores correct behavior as described above.
   - Does this need documentation: No.
   
   ### 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