- Direct Known Subclasses:
- VectorPTFEvaluatorCount, VectorPTFEvaluatorCountStar, VectorPTFEvaluatorDecimalAvg, VectorPTFEvaluatorDecimalFirstValue, VectorPTFEvaluatorDecimalLastValue, VectorPTFEvaluatorDecimalMax, VectorPTFEvaluatorDecimalMin, VectorPTFEvaluatorDecimalSum, VectorPTFEvaluatorDenseRank, VectorPTFEvaluatorDoubleAvg, VectorPTFEvaluatorDoubleFirstValue, VectorPTFEvaluatorDoubleLastValue, VectorPTFEvaluatorDoubleMax, VectorPTFEvaluatorDoubleMin, VectorPTFEvaluatorDoubleSum, VectorPTFEvaluatorLongAvg, VectorPTFEvaluatorLongFirstValue, VectorPTFEvaluatorLongLastValue, VectorPTFEvaluatorLongMax, VectorPTFEvaluatorLongMin, VectorPTFEvaluatorLongSum, VectorPTFEvaluatorRank, VectorPTFEvaluatorRowNumber
public abstract class VectorPTFEvaluatorBase
extends Object
This is the vector PTF evaluator base class. An evaluator does the group batch aggregation work
on an aggregation's 0 or 1 argument(s) and at some point will fill in an output column with the
aggregation result. The aggregation argument is an input column or expression, or no argument.
When the aggregation is streaming (e.g. row_number, rank, first_value, etc), the output column
can be filled in immediately by the implementation of evaluateGroupBatch.
For non-streaming aggregations, the aggregation result is not known until the last group batch
is processed. After the last group batch has been processed, the VectorPTFGroupBatches class
will call the isGroupResultNull, getResultColumnVectorType, getLongGroupResult |
getDoubleGroupResult | getDecimalGroupResult, and getOutputColumnNum methods to get aggregation
result information necessary to write it into the output column (as a repeated column) of all
the group batches.