This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch aggregator in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c00e3bb86a8fd3673d28af1cd6dca2a2216d54d7 Author: Alima777 <[email protected]> AuthorDate: Sun May 1 14:32:08 2022 +0800 add create accumulator methods --- .../iotdb/db/mpp/operator/aggregation/AccumulatorFactory.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/operator/aggregation/AccumulatorFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/operator/aggregation/AccumulatorFactory.java index 1eb421c4e7..e389d543be 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/operator/aggregation/AccumulatorFactory.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/operator/aggregation/AccumulatorFactory.java @@ -24,6 +24,7 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; public class AccumulatorFactory { + // TODO: Are we going to create different seriesScanOperator based on order by sequence? public static Accumulator createAccumulator( AggregationType aggregationType, TSDataType tsDataType) { switch (aggregationType) { @@ -32,15 +33,23 @@ public class AccumulatorFactory { case AVG: return new AvgAccumulator(tsDataType); case SUM: + return new SumAccumulator(tsDataType); case EXTREME: + return new ExtremeAccumulator(tsDataType); case MAX_TIME: + return new MaxTimeAccumulator(); case MIN_TIME: + return new MinTimeAccumulator(); case MAX_VALUE: + return new MaxValueAccumulator(tsDataType); case MIN_VALUE: + return new MinValueAccumulator(tsDataType); case LAST_VALUE: + return new LastValueAccumulator(tsDataType); case FIRST_VALUE: + return new FirstValueAccumulator(tsDataType); default: - return null; + throw new IllegalArgumentException("Invalid Aggregation function: " + aggregationType); } } }
