@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 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)); } }
resultRel = values; } else { if (!values.getTuples().isEmpty()) { unionInputs.add(values);
resultRel = values; } else { if (!values.getTuples().isEmpty()) { unionInputs.add(values);
resultRel = values; } else { if (!values.getTuples().isEmpty()) { unionInputs.add(values);
for (final List<RexLiteral> literalList : values.getTuples()) { shuttle.literalList = literalList; if (conditionExpr != null) { + ((projectExprs == null) ? 0 : projectExprs.size()); assert fieldsPerRow > 0; assert reducibleExps.size() == (values.getTuples().size() * fieldsPerRow); final ImmutableList.Builder<ImmutableList<RexLiteral>> tuplesBuilder = ImmutableList.builder(); for (int row = 0; row < values.getTuples().size(); ++row) { int i = 0; RexNode reducedValue; valuesList = values.getTuples().get(row);
@Override public RelNode visit(LogicalValues values) { return new LogicalValues( cluster, copyOf(values.getTraitSet()), copyOf(values.getRowType()), copyOf(values.getTuples()) ); }
for (final List<RexLiteral> literalList : values.getTuples()) { shuttle.literalList = literalList; if (conditionExpr != null) { + ((projectExprs == null) ? 0 : projectExprs.size()); assert fieldsPerRow > 0; assert reducibleExps.size() == (values.getTuples().size() * fieldsPerRow); final ImmutableList.Builder<ImmutableList<RexLiteral>> tuplesBuilder = ImmutableList.builder(); for (int row = 0; row < values.getTuples().size(); ++row) { int i = 0; RexNode reducedValue; valuesList = values.getTuples().get(row);
@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)); } }
for (ImmutableList<RexLiteral> tuple : values.getTuples()) { ImmutableList.Builder<RexLiteral> newTuple = ImmutableList.builder(); for (int field : fieldsUsed) {
for (ImmutableList<RexLiteral> tuple : values.getTuples()) { ImmutableList.Builder<RexLiteral> newTuple = ImmutableList.builder(); for (int field : fieldsUsed) {
@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)); } }
resultRel = values; } else { if (!values.getTuples().isEmpty()) { unionInputs.add(values);