public DistinctFinalAggregator(int seq, int inTupleIndex, int outTupleIndex, GroupbyNode groupbyNode) { this.seq = seq; this.inTupleIndex = inTupleIndex; this.outTupleIndex = outTupleIndex; aggrFunctions = groupbyNode.getAggFunctions(); if (aggrFunctions != null) { for (AggregationFunctionCallEval eachFunction: aggrFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setLastPhase(); } } newFunctionContext(); }
public DistinctFinalAggregator(int seq, int inTupleIndex, int outTupleIndex, GroupbyNode groupbyNode) { this.seq = seq; this.inTupleIndex = inTupleIndex; this.outTupleIndex = outTupleIndex; aggrFunctions = groupbyNode.getAggFunctions(); if (aggrFunctions != null) { for (AggregationFunctionCallEval eachFunction: aggrFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setLastPhase(); } } newFunctionContext(); }
FieldEval param = new FieldEval(firstPhaseEvalNames[i], firstPhaseEvals.get(i).getValueType()); secondPhaseEvals.get(i).setLastPhase(); secondPhaseEvals.get(i).setArgs(new EvalNode[]{param});
buildInfo.addAggFunctionTarget(aggFunctionTarget); } else { aggFunction.setLastPhase(); otherAggregationFunctionCallEvals.add(aggFunction); otherAggregationFunctionTargets.add(aggFunctionTarget);
secondStageGroupbyNode.getAggFunctions().get(aggFuncIdx).setLastPhase(); int targetIdx = originGroupColumns.size() + uniqueDistinctColumn.size() + aggFuncIdx; Target aggFuncTarget = oldTargets.get(targetIdx); secondStageAggFunction.setLastPhase();
buildInfo.addAggFunctionTarget(aggFunctionTarget); } else { aggFunction.setLastPhase(); otherAggregationFunctionCallEvals.add(aggFunction); otherAggregationFunctionTargets.add(aggFunctionTarget);
FieldEval param = new FieldEval(firstPhaseEvalNames[i], firstPhaseEvals[i].getValueType()); secondPhaseEvals[i].setLastPhase(); secondPhaseEvals[i].setArgs(new EvalNode[]{param});
secondStageGroupbyNode.getAggFunctions()[aggFuncIdx].setLastPhase(); int targetIdx = originGroupColumns.size() + uniqueDistinctColumn.size() + aggFuncIdx; Target aggFuncTarget = oldTargets[targetIdx]; secondStageAggFunction.setLastPhase();
aggFunc.setFirstPhase(); } else if (aggFunctionProto.getLastPhase()) { aggFunc.setLastPhase(); } else { aggFunc.setIntermediatePhase();
aggFunc.setFirstPhase(); } else if (aggFunctionProto.getLastPhase()) { aggFunc.setLastPhase(); } else { aggFunc.setIntermediatePhase();