xzh_dz created CALCITE-4783: ------------------------------- Summary: Dropped the predicate condition after RelFieldTrimmer trim the RelNode Key: CALCITE-4783 URL: https://issues.apache.org/jira/browse/CALCITE-4783 Project: Calcite Issue Type: Improvement Reporter: xzh_dz
{code:java} // code placeholder org.apache.calcite.test.SqlToRelConverterTest @Test void testTrim() { final String sql = "select count(*) from emp where ename = '1'"; final RelNode rel = tester.convertSqlToRel(sql).rel; final HepProgramBuilder programBuilder = HepProgram.builder(); programBuilder.addRuleInstance(CoreRules.FILTER_TO_CALC); final HepPlanner planner = new HepPlanner(programBuilder.build()); planner.setRoot(rel); final RelNode calc = planner.findBestExp(); final List<RelOptTable> relOptTables = RelOptUtil.findAllTables(calc); RelOptSchema relOptSchema = null; if (relOptTables.size() != 0) { relOptSchema = relOptTables.get(0).getRelOptSchema(); } final RelBuilder relBuilder = RelFactories.LOGICAL_BUILDER.create( calc.getCluster(), relOptSchema); final RelFieldTrimmer fieldTrimmer = new RelFieldTrimmer(null, relBuilder); final RelNode trimmed = fieldTrimmer.trim(calc); System.out.println(RelOptUtil.toString(trimmed)); } result: LogicalAggregate(group=[{}], EXPR$0=[COUNT()]) LogicalTableScan(table=[[CATALOG, SALES, EMP]]){code} -- This message was sent by Atlassian Jira (v8.3.4#803005)