[
https://issues.apache.org/jira/browse/CALCITE-3668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17007742#comment-17007742
]
Vladimir Sitnikov commented on CALCITE-3668:
--------------------------------------------
It still does not sound like a use case :(
Can you probably suggest an execution plan and the desired action of the rule?
Note: subset.set.subsets is not "all subsets of the subset".
It is a much bigger set of items.
In other words:
Suppose there was LogicalFilter(input=LogicalProject(...))
if you use subset.set.subsets then the rule would fire for the pair of
(LogicalFilter, EnumerableProject) which makes no sense, because that filter
never consumed set with ENUMERABLE convention trait.
> 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)