hsyuan opened a new pull request #1772: [CALCITE-3744] Duplicate rule matches when RelSet gets merged URL: https://github.com/apache/calcite/pull/1772 Some times RelSet can get merged. e.g.: Each number represet Rel id, and they are in different RelSet. ``` 1 4 \ / 2 / \ / 3 ``` Assume in the rulequeue, we have rule match with name of 12, 23, 43. For simplicity, omit the rule name, first digit represent the parent RelNode, second represent the child. If after some rule, we merged the set of 3 into the set of 2, and RelNode 4's input is replaced by RelSubset of 2. We will retrigger rules and try to add rulematch 12, 42, 43 into rule queue. 12 will be filtered out, because there is duplicate in the RuleMatch names set. But for 43, it now has different rulematch digest with previous match, because RelNode # 4's input RelSubset changed, its digest also changed. So we can't detect the duplication and will re-apply rulematch 43 twice.
---------------------------------------------------------------- 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
