private PlannerOp planProject(EnumerableProject op, RelDataType rowType) { PlannerOp input = convertRelNode(op.getInput(), null, false); final List<RexNode> projects = op.getProjects(); final RelDataType _rowType = rowType == null ? op.getRowType() : rowType; Projection projection = buildProjection(projects, _rowType, false, null); return new ProjectOp(projection, input); }
public void onMatch(RelOptRuleCall call) { final EnumerableProject project = call.rel(0); final RelNode input = project.getInput(); final RexProgram program = RexProgram.create(input.getRowType(), project.getProjects(), null, project.getRowType(), project.getCluster().getRexBuilder()); final EnumerableCalc calc = EnumerableCalc.create(input, program); call.transformTo(calc); } }
public void onMatch(RelOptRuleCall call) { final EnumerableProject project = call.rel(0); final RelNode input = project.getInput(); final RexProgram program = RexProgram.create(input.getRowType(), project.getProjects(), null, project.getRowType(), project.getCluster().getRexBuilder()); final EnumerableCalc calc = EnumerableCalc.create(input, program); call.transformTo(calc); } }
public RelNode convert(RelNode rel) { final EnumerableProject project = (EnumerableProject) rel; return new JdbcRules.JdbcProject( rel.getCluster(), rel.getTraitSet().replace(getOutConvention()), convert(project.getInput(), project.getInput().getTraitSet().replace(getOutConvention())), project.getProjects(), project.getRowType()); } }
public RelNode convert(RelNode rel) { final EnumerableProject project = (EnumerableProject) rel; return new JdbcRules.JdbcProject( rel.getCluster(), rel.getTraitSet().replace(getOutConvention()), convert(project.getInput(), project.getInput().getTraitSet().replace(getOutConvention())), project.getProjects(), project.getRowType()); } }