[ 
https://issues.apache.org/jira/browse/CALCITE-3668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17007663#comment-17007663
 ] 

Haisheng Yuan commented on CALCITE-3668:
----------------------------------------

Say we have a rule {{operand(Filter.class, operand(RelSubset.class))}} to match 
Filter and its all the children, we don't care about what the child operator 
is, but only care about the traitset does the child operator can provide.   
Using this rule, we propagate the traitset up to the parent operator.

> VolcanoPlanner doesn't match all the RelSubSet in matchRecursive
> ----------------------------------------------------------------
>
>                 Key: CALCITE-3668
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3668
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Haisheng Yuan
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> If I have a rule to match pattern with Filter-RelSubset, VolcanoPlanner only 
> matches 1 RelSubset in the RelSet, instead of all the subsets.
> {code:java}
>          if (operand.getMatchedClass() == RelSubset.class) {
>             // If the rule wants the whole subset, we just provide it
>             successors = ImmutableList.of(subset);  
>           } else {
>             successors = subset.getRelList();
>           }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to