thomasrebele commented on PR #6352:
URL: https://github.com/apache/hive/pull/6352#issuecomment-4023155402

   The test TestVectorizationContext had failed, because it changed the 
children list after creating the ExprNodeGenericFuncDesc. I checked the code, 
and this modification-after-instantiation seems to be limited to the test 
class. There are a few candidates that in principle could modify the list, but 
I don't think that happens in the code:
   
   - VectorizationContext#getWhenExpression: passes a sublist, which in 
principle could be modifiable. It seems it is only used for transforming the 
ExprNode to a VectorExpression
   - ExprNodeDescExprFactory#replaceFieldNamesInStruct passes the children of 
another ExprNodeGenericFuncDesc. The caller seems to transform the original 
expr node into a new one; I think the original expr will not be used afterwards
   - StatsRulesProcFactory.JoinStatsRule#process passes some object from 
JoinDesc#getResidualFilterExprs. AFAIK, the class StatsRulesProcFactory just 
visits but does not modify the expr nodes
   
   I therefore propose to change TestVectorizationContext so that it takes into 
account that ExprNodeGenericFuncDesc makes a copy of the children list.


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