FieldEval param = new FieldEval(firstPhaseEvalNames[i], firstPhaseEvals.get(i).getValueType());
Target originAggFunctionTarget = groupbyNode.getTargets().get(originalGroupingColumns.size() + aggIdx); Target aggFunctionTarget = new Target(new FieldEval(originAggFunctionTarget.getEvalTree().getName(), aggFunction.getValueType()));
FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets.add(0, new Target(fieldEval)); rewritten.secondStageEvals = createSumFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets.add(0, new Target(fieldEval)); rewritten.secondStageEvals = createSumFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets.add(0, new Target(fieldEval)); rewritten.secondStageEvals = createMaxFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets.add(0, new Target(fieldEval)); rewritten.secondStageEvals = createMinFunction(new EvalNode[]{fieldEval});
aggFunction.setFirstPhase(); String firstEvalNames = plan.generateUniqueColumnName(aggFunction); FieldEval firstEval = new FieldEval(firstEvalNames, aggFunction.getValueType()); firstGroupbyTargets.add(new Target(firstEval));
Target originAggFunctionTarget = groupbyNode.getTargets()[originalGroupingColumns.size() + aggIdx]; Target aggFunctionTarget = new Target(new FieldEval(originAggFunctionTarget.getEvalTree().getName(), aggFunction.getValueType()));
FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets[0] = new Target(fieldEval); rewritten.secondStageEvals = createSumFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets[0] = new Target(fieldEval); rewritten.secondStageEvals = createSumFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets[0] = new Target(fieldEval); rewritten.secondStageEvals = createMaxFunction(new EvalNode[]{fieldEval}); FieldEval fieldEval = new FieldEval(referenceName, rewritten.firstStageEvals[0].getValueType()); rewritten.firstStageTargets[0] = new Target(fieldEval); rewritten.secondStageEvals = createMinFunction(new EvalNode[]{fieldEval});
FieldEval param = new FieldEval(firstPhaseEvalNames[i], firstPhaseEvals[i].getValueType());
aggFunction.setFirstPhase(); String firstEvalNames = plan.generateUniqueColumnName(aggFunction); FieldEval firstEval = new FieldEval(firstEvalNames, aggFunction.getValueType()); firstGroupbyTargets.add(new Target(firstEval));