private void iterateNoNullsWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable[] values, int batchSize) { for (int i=0; i < batchSize; ++i) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, i); myagg.avgValue(values[i]); } }
public VectorUDAFAvgDecimalComplete(VectorAggregationDesc vecAggrDesc) { super(vecAggrDesc); Preconditions.checkState(this.mode == GenericUDAFEvaluator.Mode.COMPLETE); init(); }
iterateNoNullsRepeatingWithAggregationSelection( aggregationBufferSets, bufferIndex, vector[0], batchSize); } else { if (batch.selectedInUse) { iterateNoNullsSelectionWithAggregationSelection( aggregationBufferSets, bufferIndex, vector, batch.selected, batchSize); } else { iterateNoNullsWithAggregationSelection( aggregationBufferSets, bufferIndex, vector, batchSize); iterateHasNullsRepeatingWithAggregationSelection( aggregationBufferSets, bufferIndex, vector[0], batchSize, inputVector.isNull); } else { if (batch.selectedInUse) { iterateHasNullsSelectionWithAggregationSelection( aggregationBufferSets, bufferIndex, vector, batchSize, batch.selected, inputVector.isNull); } else { iterateHasNullsWithAggregationSelection( aggregationBufferSets, bufferIndex, vector, batchSize, inputVector.isNull);
iterateNoSelectionNoNulls(myagg, vector, batchSize); iterateNoSelectionHasNulls(myagg, vector, batchSize, inputVector.isNull); iterateSelectionNoNulls(myagg, vector, batchSize, batch.selected); iterateSelectionHasNulls(myagg, vector, batchSize, inputVector.isNull, batch.selected);
private void iterateNoNullsRepeatingWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable value, int batchSize) { for (int i=0; i < batchSize; ++i) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, i); myagg.avgValue(value); } }
private void iterateNoNullsSelectionWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable[] values, int[] selection, int batchSize) { for (int i=0; i < batchSize; ++i) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, i); myagg.avgValue(values[selection[i]]); } }
private void iterateHasNullsWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable[] values, int batchSize, boolean[] isNull) { for (int i=0; i < batchSize; ++i) { if (!isNull[i]) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, i); myagg.avgValue(values[i]); } } }
private void iterateHasNullsRepeatingWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable value, int batchSize, boolean[] isNull) { if (isNull[0]) { return; } for (int i=0; i < batchSize; ++i) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, i); myagg.avgValue(value); } }
private void iterateHasNullsSelectionWithAggregationSelection( VectorAggregationBufferRow[] aggregationBufferSets, int bufferIndex, HiveDecimalWritable[] values, int batchSize, int[] selection, boolean[] isNull) { for (int j=0; j < batchSize; ++j) { int i = selection[j]; if (!isNull[i]) { Aggregation myagg = getCurrentAggregationBuffer( aggregationBufferSets, bufferIndex, j); myagg.avgValue(values[i]); } } }