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(); }
private NonDistinctHashAggregator(GroupbyNode groupbyNode) throws IOException { nonDistinctAggrDatas = new TupleMap<>(); if (groupbyNode.hasAggFunctions()) { aggFunctions = groupbyNode.getAggFunctions(); aggFunctionsNum = aggFunctions.size(); } else { aggFunctions = new ArrayList<>(); aggFunctionsNum = 0; } for (AggregationFunctionCallEval eachFunction: aggFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setFirstPhase(); } outTuple = new VTuple(aggFunctionsNum); dummyTuple = NullTuple.create(aggFunctionsNum); tupleLength = aggFunctionsNum; }
private NonDistinctHashAggregator(GroupbyNode groupbyNode) throws IOException { nonDistinctAggrDatas = new TupleMap<FunctionContext[]>(); if (groupbyNode.hasAggFunctions()) { aggFunctions = groupbyNode.getAggFunctions(); aggFunctionsNum = aggFunctions.length; } else { aggFunctions = new AggregationFunctionCallEval[0]; aggFunctionsNum = 0; } for (AggregationFunctionCallEval eachFunction: aggFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setFirstPhase(); } outTuple = new VTuple(aggFunctionsNum); dummyTuple = NullTuple.create(aggFunctionsNum); tupleLength = aggFunctionsNum; }
if (nonDistinctAggrFunctions != null) { for (AggregationFunctionCallEval eachFunction: nonDistinctAggrFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setIntermediatePhase();
if (nonDistinctAggrFunctions != null) { for (AggregationFunctionCallEval eachFunction: nonDistinctAggrFunctions) { eachFunction.bind(context.getEvalContext(), inSchema); eachFunction.setIntermediatePhase();