Expressions.constant(1))); builder.add( Expressions.statement( Expressions.call( Expressions.parameter(ExecutableExpression.class, "this"),
for (int i = 0; i < list.size(); i++) { builder.add( Expressions.statement( Expressions.assign( Expressions.arrayIndex(outputValues,
@Override public void implementNotNullAdd(WinAggContext info, WinAggAddContext add) { if (justFrameRowCount) { return; } add.currentBlock().add( Expressions.statement( Expressions.postIncrementAssign(add.accumulator().get(0)))); }
@Override public void implementNotNullAdd(AggContext info, AggAddContext add) { // acc[0].add(arg); add.currentBlock().add( Expressions.statement( Expressions.call(add.accumulator().get(0), BuiltInMethod.COLLECTION_ADD.method, add.arguments().get(0)))); } }
@Override public void implementNotNullAdd(AggContext info, AggAddContext add) { add.currentBlock().add( Expressions.statement( Expressions.postIncrementAssign(add.accumulator().get(0)))); } }
@Override public void implementNotNullAdd(AggContext info, AggAddContext add) { // acc[0].add(arg); add.currentBlock().add( Expressions.statement( Expressions.call(add.accumulator().get(0), BuiltInMethod.COLLECTION_ADD.method, add.arguments().get(0)))); } }
@Override public void implementAdd(AggContext info, AggAddContext add) { final SqlJsonObjectAggAggFunction function = (SqlJsonObjectAggAggFunction) info.aggregation(); add.currentBlock().add( Expressions.statement( Expressions.call(m, Iterables.concat( Collections.singletonList(add.accumulator().get(0)), add.arguments(), Collections.singletonList( Expressions.constant(function.getNullClause())))))); }
public void implementReset(AggContext info, AggResetContext reset) { List<Expression> acc = reset.accumulator(); reset.currentBlock().add( Expressions.statement( Expressions.assign(acc.get(0), Expressions.constant(false)))); reset.currentBlock().add( Expressions.statement( Expressions.assign(acc.get(1), getDefaultValue(acc.get(1).getType())))); }
@Override public void implementAdd(AggContext info, AggAddContext add) { final SqlJsonArrayAggAggFunction function = (SqlJsonArrayAggAggFunction) info.aggregation(); add.currentBlock().add( Expressions.statement( Expressions.call(m, Iterables.concat( Collections.singletonList(add.accumulator().get(0)), add.arguments(), Collections.singletonList( Expressions.constant(function.getNullClause())))))); }
@Override public void implementReset(AggContext info, AggResetContext reset) { reset.currentBlock().add( Expressions.statement( Expressions.assign(reset.accumulator().get(0), Expressions.new_(HashMap.class)))); }
@Override public void implementReset(AggContext info, AggResetContext reset) { reset.currentBlock().add( Expressions.statement( Expressions.assign(reset.accumulator().get(0), Expressions.new_(ArrayList.class)))); }
@Override protected void implementNotNullReset(AggContext info, AggResetContext reset) { // acc[0] = new ArrayList(); reset.currentBlock().add( Expressions.statement( Expressions.assign(reset.accumulator().get(0), Expressions.new_(ArrayList.class)))); }
@Override protected void implementNotNullReset(AggContext info, AggResetContext reset) { // acc[0] = new ArrayList(); reset.currentBlock().add( Expressions.statement( Expressions.assign(reset.accumulator().get(0), Expressions.new_(ArrayList.class)))); }
protected final void accAdvance(AggAddContext add, Expression acc, Expression next) { add.currentBlock().add( Expressions.statement( Expressions.assign(acc, Types.castIfNecessary(acc.type, next)))); }
public final void implementReset(AggContext info, AggResetContext reset) { if (trackNullsPerRow) { List<Expression> acc = reset.accumulator(); Expression flag = acc.get(acc.size() - 1); BlockBuilder block = reset.currentBlock(); block.add( Expressions.statement( Expressions.assign(flag, RexImpTable.getDefaultValue(flag.getType())))); } implementNotNullReset(info, reset); }
protected final void accAdvance(AggAddContext add, Expression acc, Expression next) { add.currentBlock().add( Expressions.statement( Expressions.assign(acc, Types.castIfNecessary(acc.type, next)))); }
protected void implementNotNullReset(AggContext info, AggResetContext reset) { BlockBuilder block = reset.currentBlock(); List<Expression> accumulator = reset.accumulator(); for (int i = 0; i < getStateSize(); i++) { Expression exp = accumulator.get(i); block.add( Expressions.statement( Expressions.assign(exp, RexImpTable.getDefaultValue(exp.getType())))); } }
@Override protected void implementNotNullReset(AggContext info, AggResetContext reset) { Expression start = info.returnType() == BigDecimal.class ? Expressions.constant(BigDecimal.ZERO) : Expressions.constant(0); reset.currentBlock().add( Expressions.statement( Expressions.assign(reset.accumulator().get(0), start))); }
protected void implementNotNullReset(AggContext info, AggResetContext reset) { BlockBuilder block = reset.currentBlock(); List<Expression> accumulator = reset.accumulator(); for (int i = 0; i < getStateSize(); i++) { Expression exp = accumulator.get(i); block.add( Expressions.statement( Expressions.assign(exp, RexImpTable.getDefaultValue(exp.getType())))); } }
@Override protected void implementNotNullReset(AggContext info, AggResetContext reset) { Expression acc = reset.accumulator().get(0); Primitive p = Primitive.of(acc.getType()); boolean isMin = MIN == info.aggregation(); Object inf = p == null ? null : (isMin ? p.max : p.min); reset.currentBlock().add( Expressions.statement( Expressions.assign(acc, Expressions.constant(inf, acc.getType())))); }