[ https://issues.apache.org/jira/browse/CALCITE-6899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936459#comment-17936459 ]
xiong duan commented on CALCITE-6899: ------------------------------------- According to my understanding, this test case is without any problem. > Mismatch of Trait information results in a missing conversion exception > ----------------------------------------------------------------------- > > Key: CALCITE-6899 > URL: https://issues.apache.org/jira/browse/CALCITE-6899 > Project: Calcite > Issue Type: Bug > Reporter: xiong duan > Priority: Major > > The unit test in RelOptRulesTest: > {code:java} > @Test void testEnumerableFilterRule() { > final String sql = "select ename from emp where sal > all (select comm from > emp)"; > sql(sql) > .withVolcanoPlanner(false, p -> { > p.addRelTraitDef(RelDistributionTraitDef.INSTANCE); > p.addRule(CoreRules.FILTER_SUB_QUERY_TO_CORRELATE); > p.addRule(EnumerableRules.ENUMERABLE_FILTER_RULE); > p.addRule(EnumerableRules.ENUMERABLE_PROJECT_RULE); > p.addRule(EnumerableRules.ENUMERABLE_TABLE_SCAN_RULE); > p.addRule(EnumerableRules.ENUMERABLE_JOIN_RULE); > p.addRule(EnumerableRules.ENUMERABLE_AGGREGATE_RULE); > }).check(); > } {code} > It throws an exception: > {code:java} > There are not enough rules to produce a node with desired properties: > convention=ENUMERABLE, dist=any. > Missing conversion is LogicalFilter[convention: NONE -> ENUMERABLE] > There is 1 empty subset: rel#39:RelSubset#1.ENUMERABLE.broadcast, the > relevant part of the original plan is as follows > 14:LogicalFilter(condition=[NOT(<= SOME($5, { > LogicalProject(COMM=[$6]) > LogicalTableScan(table=[[CATALOG, SALES, EMP]]) > }))]) > 8:LogicalTableScan(subset=[rel#13:RelSubset#0.NONE.any], table=[[CATALOG, > SALES, EMP]]) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)