xiangfu0 opened a new pull request, #19183:
URL: https://github.com/apache/pinot/pull/19183

   > **Stacked on #19181** — GitHub shows the cumulative diff until that 
merges. Review only the second commit ("[UUID 4c] ..."); the diff shrinks to 6 
files / +168 −26 once #19181 lands. Stacked rather than independent because 
both touch `BaseTransformFunctionTest`, whose UUID column and assertion branch 
these tests build on.
   
   ## What
   Three transform functions didn't handle a `UUID` operand.
   
   ### `BinaryOperatorTransformFunction`
   Comparing a UUID column dispatched to the STRING path, so `=`, `<`, `>` etc. 
ran over the *rendered* form rather than the stored bytes. **The fix is generic 
and not UUID-specific**: it routes any BYTES-stored logical type through the 
bytes comparison, which is what the stored representation calls for. UUID is 
simply the first such type to exist.
   
   ### `CaseTransformFunction`
   UUID branches returned through the string path, so a bare STRING literal 
branch — `CASE WHEN c THEN uuidCol ELSE '0000...' END` — was never coerced to 
UUID bytes.
   
   ### `InTransformFunction`
   The IN list was parsed as hex, which rejects the canonical dashed form users 
actually write.
   
   ## Testing
   Each function gets UUID coverage in its existing test: comparison operators 
against a UUID column, CASE with UUID and bare-string branches, and IN with 
dashed, dashless and mixed-case members.
   
   ## About this PR
   Split out of #18872. Part of the #18140 UUID split.
   


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