@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return OLAPValuesRel.create(values.getCluster(), values.getRowType(), values.getTuples()); } }
@Override public RelNode copy(RelTraitSet traitSet, List<RelNode> inputs) { assert traitSet.containsIfApplicable(Convention.NONE); assert inputs.isEmpty(); return new LogicalValues(getCluster(), traitSet, rowType, tuples); }
@Override public RelNode copy(RelTraitSet traitSet, List<RelNode> inputs) { assert traitSet.containsIfApplicable(Convention.NONE); assert inputs.isEmpty(); return new LogicalValues(getCluster(), traitSet, rowType, tuples); }
@Override public RelNode visit(LogicalValues values) { values.getCluster().setMetadataProvider(metadataProvider); return super.visit(values); }
@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return EnumerableValues.create(values.getCluster(), values.getRowType(), values.getTuples()); } }
@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return EnumerableValues.create(values.getCluster(), values.getRowType(), values.getTuples()); } }
@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return OLAPValuesRel.create(values.getCluster(), values.getRowType(), values.getTuples()); } }
@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return new BindableValues(values.getCluster(), values.getRowType(), values.getTuples(), values.getTraitSet().replace(BindableConvention.INSTANCE)); } }
@Override public RelNode convert(RelNode rel) { LogicalValues values = (LogicalValues) rel; return new BindableValues(values.getCluster(), values.getRowType(), values.getTuples(), values.getTraitSet().replace(BindableConvention.INSTANCE)); } }
RelOptUtil.permute(values.getCluster().getTypeFactory(), rowType, mapping); final LogicalValues newValues = LogicalValues.create(values.getCluster(), newRowType, newTuples.build()); return result(newValues, mapping);
RelOptUtil.permute(values.getCluster().getTypeFactory(), rowType, mapping); final LogicalValues newValues = LogicalValues.create(values.getCluster(), newRowType, newTuples.build()); return result(newValues, mapping);
@Override public void onMatch(RelOptRuleCall call) { final LogicalValues values = (LogicalValues) call.rel(0); final RelTraitSet traits = values.getTraitSet().plus(Rel.LOGICAL); call.transformTo(new ValuesRel(values.getCluster(), values.getRowType(), values.getTuples(), traits)); } }
final List<RexNode> projectExprs = (project == null) ? null : project.getProjects(); RexBuilder rexBuilder = values.getCluster().getRexBuilder(); LogicalValues.create(values.getCluster(), rowType, tuplesBuilder.build()); call.transformTo(newRel);
@Override public void onMatch(RelOptRuleCall call) { final LogicalValues values = call.rel(0); final RelTraitSet traits = values.getTraitSet().plus(DrillRel.DRILL_LOGICAL); call.transformTo(new DrillValuesRel(values.getCluster(), values.getRowType(), values.getTuples(), traits)); } }
final List<RexNode> projectExprs = (project == null) ? null : project.getProjects(); RexBuilder rexBuilder = values.getCluster().getRexBuilder(); LogicalValues.create(values.getCluster(), rowType, tuplesBuilder.build()); call.transformTo(newRel);