clintropolis opened a new pull request, #18334:
URL: https://github.com/apache/druid/pull/18334

   ### Description
   Fixes a bug with `ExpressionVirtualColumn` equivalence checking 
(`VirtualColumn.getEquivalenceKey()`) caused by using the raw input expression 
string instead of like parsing the expression and using stringify to stabilize 
it to a homogeneous value. This method is used to match virtual columns in 
projections with query time virtual columns, so unless the projection was 
created with the exact same expression string as the query time expression, it 
would be unable to match correctly (really counter to the purpose of all the 
equivalence key stuff in the first place, which was added for this purpose 😅)
   
   After the change, `expressionString` is barely needed, but i have retained 
it so that json serialization and such are not required to parse the expression 
and restringify just to serialize, and not change behavior of equals/hashcode 
of the parent `ExpressionVirtualColumn` type (the `EquivalenceKey` is the 
internal `Expression` type)
   


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