protected RelNode makeRel( RelOptCluster cluster, RelTraitSet traits, RelDataType rowType, RelNode child, RexProgram program) { assert !program.containsAggs(); return super.makeRel( cluster, traits, rowType, child, program); } },
public EnumerableCalcRel( RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexProgram program, int flags) { super(cluster, traitSet, child); assert getConvention() instanceof EnumerableConvention; assert !program.containsAggs(); this.flags = flags; this.program = program; this.rowType = program.getOutputRowType(); }
public EnumerableCalcRel( RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RelDataType rowType, RexProgram program, List<RelCollation> collationList) { super(cluster, traitSet, child, rowType, program, collationList); assert getConvention() instanceof EnumerableConvention; assert !program.containsAggs(); this.program = program; this.rowType = program.getOutputRowType(); }
protected RelNode makeRel( RelOptCluster cluster, RelTraitSet traits, RelDataType rowType, RelNode child, RexProgram program) { assert !program.containsAggs(); program = RexProgramBuilder.normalize(cluster.getRexBuilder(), program); return super.makeRel( cluster, traits, rowType, child, program); } },
public RelNode convert(RelNode rel) { final CalcRel calc = (CalcRel) rel; // If there's a multiset, let FarragoMultisetSplitter work on it // first. final RexProgram program = calc.getProgram(); if (RexMultisetUtil.containsMultiset(program) || program.containsAggs()) { return null; } return new EnumerableCalcRel( rel.getCluster(), rel.getTraitSet().replace(EnumerableConvention.INSTANCE), convert( calc.getChild(), calc.getChild().getTraitSet() .replace(EnumerableConvention.INSTANCE)), program, ProjectRelBase.Flags.Boxed); } }
public RelNode convert(RelNode rel) { final CalcRel calc = (CalcRel) rel; // If there's a multiset, let FarragoMultisetSplitter work on it // first. final RexProgram program = calc.getProgram(); if (B && RexMultisetUtil.containsMultiset(program) || program.containsAggs()) { return null; } return new EnumerableCalcRel( rel.getCluster(), rel.getTraitSet().replace(EnumerableConvention.INSTANCE), convert( calc.getChild(), calc.getChild().getTraitSet() .replace(EnumerableConvention.INSTANCE)), calc.getRowType(), program, calc.getCollationList()); } }
if (calc.getProgram().containsAggs()) { return;
if (calc.getProgram().containsAggs()) { return;