如何在Apache Calcite里优化关系表达式?

231 阅读1分钟
        final HepProgram hepProgram = new HepProgramBuilder()
                .addRuleInstance(CalcSplitRule.INSTANCE)
                .addRuleInstance(FilterTableScanRule.INSTANCE)
                .addRuleInstance(FilterTableScanRule.INTERPRETER)
                .addRuleInstance(ProjectTableScanRule.INSTANCE)
                .addRuleInstance(ProjectTableScanRule.INTERPRETER).build();
        final HepPlanner planner = new HepPlanner(hepProgram);
        planner.setRoot(table);
        table = planner.findBestExp();

 org.apache.calcite.rel.AbstractRelNode#register是被org.apache.calcite.plan.AbstractRelOptPlanner调用的,单独调用 org.apache.calcite.rel.AbstractRelNode#register没有任何效果