xndai opened a new pull request #1403: [CALCITE-3283] RelSubSet's best is not 
existed in the set
URL: https://github.com/apache/calcite/pull/1403
 
 
   In VolcanoPlanner.rename(), the given relnode will be removed when we find 
there's an equivalent rel after rename. But if the node to be removed happens 
to be the best relnode of its subset, the RelSubSet.best will not able to get 
updated under two scenarios -
   
   1. If equivalent rel is in the same set as the original rel, currently we do 
nothing. So RelSubSet.best is not updated and points to a node that's removed 
after rename.
   2. If we end up merging two sub set and equivalent rel cost is same as 
original rel cost, we won't update RelSubSet.best either.
   
   Fix the issue by udpdating the RelSubSet.best if best is the RelNode that's 
supposed to be removed. Also add a new Calcite property 
TEST_VALIDATE_VOLCANO_PLANNER for turnning on validation during volcano planner 
rule firing.
   
   JIRA - https://issues.apache.org/jira/browse/CALCITE-3283

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to