@Override public void aggregateInputSelection( VectorAggregationBufferRow[] aggregationBufferSets, int aggregateIndex, VectorizedRowBatch batch) throws HiveException { int batchSize = batch.size; if (batchSize == 0) { return; } inputExpression.evaluate(batch); ColumnVector inputVector = batch.cols[this.inputExpression.getOutputColumnNum()]; if (inputVector.isRepeating) { if (inputVector.noNulls || !inputVector.isNull[0]) { iterateNoNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize); } } else if (inputVector.noNulls) { // if there are no nulls then the iteration is the same on all cases iterateNoNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize); } else if (!batch.selectedInUse) { iterateHasNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, inputVector.isNull); } else if (batch.selectedInUse) { iterateHasNullsSelectionWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, batch.selected, inputVector.isNull); } }
@Override public void aggregateInputSelection( VectorAggregationBufferRow[] aggregationBufferSets, int aggregateIndex, VectorizedRowBatch batch) throws HiveException { int batchSize = batch.size; if (batchSize == 0) { return; } inputExpression.evaluate(batch); ColumnVector inputVector = batch.cols[this.inputExpression.getOutputColumn()]; if (inputVector.isRepeating) { if (inputVector.noNulls || !inputVector.isNull[0]) { iterateNoNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize); } } else if (inputVector.noNulls) { // if there are no nulls then the iteration is the same on all cases iterateNoNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize); } else if (!batch.selectedInUse) { iterateHasNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, inputVector.isNull); } else if (batch.selectedInUse) { iterateHasNullsSelectionWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, batch.selected, inputVector.isNull); } }
@Override public void aggregateInputSelection( VectorAggregationBufferRow[] aggregationBufferSets, int aggregateIndex, VectorizedRowBatch batch) throws HiveException { int batchSize = batch.size; if (batchSize == 0) { return; } inputExpression.evaluate(batch); ColumnVector inputVector = batch.cols[this.inputExpression.getOutputColumn()]; if (inputVector.noNulls) { // if there are no nulls then the iteration is the same on all cases iterateNoNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize); } else if (!batch.selectedInUse) { iterateHasNullsWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, inputVector.isNull); } else if (batch.selectedInUse) { iterateHasNullsSelectionWithAggregationSelection( aggregationBufferSets, aggregateIndex, batchSize, batch.selected, inputVector.isNull); } }