public abstract class VectorPTFEvaluatorAbstractSum<T> extends VectorPTFEvaluatorBase
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
isGroupResultNull |
protected Range |
previousRange |
protected T |
previousSum |
protected T |
sum |
inputColumnNum, LOG, outputColumnNum| Constructor and Description |
|---|
VectorPTFEvaluatorAbstractSum(WindowFrameDef windowFrameDef,
VectorExpression inputVecExpr,
int outputColumnNum) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canRunOptimizedCalculation(int rowNum,
Range range)
Whether the evaluator can calculate the result for a given range.
|
protected abstract T |
computeValue(T number) |
T |
getGroupResult() |
boolean |
isGroupResultNull() |
protected abstract T |
minus(T number1,
T number2) |
void |
onPartitionEnd()
There might be some cleanup operations for evaluators that should not be taken care of after
every row (resetEvaluator), but rather on partition-level.
|
void |
onResultCalculated(Object result,
Range range)
This method is called by VectorPTFGroupBatches once the calculation is finished for a given
row/range, but before the next calculation is invoked.
|
protected abstract T |
plus(T number1,
T number2) |
Object |
runOnRange(int rowNum,
Range range,
VectorPTFGroupBatches batches)
This optimization is the vectorized counterpart of HIVE-15520.
|
boolean |
streamsResult() |
doLastBatchWork, evaluateGroupBatch, evaluateInputExpr, getNullsLast, getOutputColumnNum, getResultColumnVectorType, isCacheableForRange, mapCustomColumns, resetEvaluator, setNullsLastprotected boolean isGroupResultNull
protected T sum
protected T previousSum
protected Range previousRange
public VectorPTFEvaluatorAbstractSum(WindowFrameDef windowFrameDef, VectorExpression inputVecExpr, int outputColumnNum)
public boolean canRunOptimizedCalculation(int rowNum,
Range range)
VectorPTFEvaluatorBasecanRunOptimizedCalculation in class VectorPTFEvaluatorBasepublic Object runOnRange(int rowNum, Range range, VectorPTFGroupBatches batches) throws HiveException
runOnRange in class VectorPTFEvaluatorBaseHiveExceptionpublic boolean isGroupResultNull()
isGroupResultNull in class VectorPTFEvaluatorBasepublic T getGroupResult()
getGroupResult in class VectorPTFEvaluatorBasepublic void onResultCalculated(Object result, Range range)
VectorPTFEvaluatorBaseonResultCalculated in class VectorPTFEvaluatorBasepublic void onPartitionEnd()
VectorPTFEvaluatorBaseonPartitionEnd in class VectorPTFEvaluatorBasepublic boolean streamsResult()
streamsResult in class VectorPTFEvaluatorBaseCopyright © 2022 The Apache Software Foundation. All rights reserved.