This is an automated email from the ASF dual-hosted git repository.
hui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 3b785c80ca [IOTDB-3449] Fix case sensitive bug of aggregation function
name (#6253)
3b785c80ca is described below
commit 3b785c80ca82311a5841ea825424a6d6dc161e91
Author: Xiangwei Wei <[email protected]>
AuthorDate: Thu Jun 16 16:50:11 2022 +0800
[IOTDB-3449] Fix case sensitive bug of aggregation function name (#6253)
---
.../iotdb/db/mpp/common/header/DatasetHeader.java | 4 +
.../db/mpp/plan/analyze/ExpressionAnalyzer.java | 10 ++-
.../db/mpp/plan/planner/LogicalPlanBuilder.java | 20 ++---
.../iotdb/db/mpp/plan/planner/LogicalPlanner.java | 2 +-
.../plan/planner/distribution/SourceRewriter.java | 6 +-
.../plan/parameter/AggregationDescriptor.java | 65 ++++++++--------
.../plan/parameter/GroupByLevelDescriptor.java | 7 +-
.../plan/analyze/AggregationDescriptorTest.java | 20 ++---
.../db/mpp/plan/plan/QueryLogicalPlanUtil.java | 90 +++++++++++-----------
.../distribution/AggregationDistributionTest.java | 24 +++---
.../node/process/AggregationNodeSerdeTest.java | 36 ++++-----
.../node/process/GroupByLevelNodeSerdeTest.java | 6 +-
.../source/SeriesAggregationScanNodeSerdeTest.java | 2 +-
13 files changed, 151 insertions(+), 141 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeader.java
b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeader.java
index a89e1a1c19..4e270d2365 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeader.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeader.java
@@ -69,6 +69,10 @@ public class DatasetHeader {
.collect(Collectors.toList());
}
+ public List<String> getColumnNameWithoutAlias() {
+ return
columnHeaders.stream().map(ColumnHeader::getColumnName).collect(Collectors.toList());
+ }
+
public List<String> getRespDataTypeList() {
return columnHeaders.stream()
.map(ColumnHeader::getColumnType)
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
index 14ebea0add..1b6b7c363e 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
@@ -731,13 +731,17 @@ public class ExpressionAnalyzer {
(UnaryExpression) expression,
Collections.singletonList(childExpression))
.get(0);
} else if (expression instanceof FunctionExpression) {
+ FunctionExpression functionExpression = (FunctionExpression) expression;
List<Expression> childExpressions = new ArrayList<>();
for (Expression suffixExpression : expression.getExpressions()) {
childExpressions.add(removeAliasFromExpression(suffixExpression));
}
- return reconstructFunctionExpressions(
- (FunctionExpression) expression,
Collections.singletonList(childExpressions))
- .get(0);
+ // Reconstruct the function name to lower case to finish the calculation
afterwards while the
+ // origin name will be only as output name
+ return new FunctionExpression(
+ functionExpression.getFunctionName().toLowerCase(),
+ functionExpression.getFunctionAttributes(),
+ childExpressions);
} else if (expression instanceof TimeSeriesOperand) {
MeasurementPath rawPath = (MeasurementPath) ((TimeSeriesOperand)
expression).getPath();
if (rawPath.isMeasurementAliasExists()) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
index a451623307..fde0f78372 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
@@ -273,17 +273,17 @@ public class LogicalPlanBuilder {
TypeProvider typeProvider,
Map<PartialPath, List<AggregationDescriptor>> ascendingAggregations,
Map<PartialPath, List<AggregationDescriptor>> descendingAggregations) {
- AggregationType aggregationFunction =
-
AggregationType.valueOf(sourceExpression.getFunctionName().toUpperCase());
AggregationDescriptor aggregationDescriptor =
- new AggregationDescriptor(aggregationFunction, curStep,
sourceExpression.getExpressions());
+ new AggregationDescriptor(
+ sourceExpression.getFunctionName(), curStep,
sourceExpression.getExpressions());
if (curStep.isOutputPartial()) {
updateTypeProviderByPartialAggregation(aggregationDescriptor,
typeProvider);
}
PartialPath selectPath =
((TimeSeriesOperand)
sourceExpression.getExpressions().get(0)).getPath();
if (!needCheckAscending
- || SchemaUtils.isConsistentWithScanOrder(aggregationFunction,
scanOrder)) {
+ || SchemaUtils.isConsistentWithScanOrder(
+ aggregationDescriptor.getAggregationType(), scanOrder)) {
ascendingAggregations
.computeIfAbsent(selectPath, key -> new ArrayList<>())
.add(aggregationDescriptor);
@@ -511,12 +511,9 @@ public class LogicalPlanBuilder {
OrderBy scanOrder) {
List<GroupByLevelDescriptor> groupByLevelDescriptors = new ArrayList<>();
for (Expression groupedExpression : groupByLevelExpressions.keySet()) {
- AggregationType aggregationFunction =
- AggregationType.valueOf(
- ((FunctionExpression)
groupedExpression).getFunctionName().toUpperCase());
groupByLevelDescriptors.add(
new GroupByLevelDescriptor(
- aggregationFunction,
+ ((FunctionExpression) groupedExpression).getFunctionName(),
curStep,
groupByLevelExpressions.get(groupedExpression).stream()
.map(Expression::getExpressions)
@@ -569,11 +566,10 @@ public class LogicalPlanBuilder {
.map(
expression -> {
Validate.isTrue(expression instanceof FunctionExpression);
- AggregationType aggregationFunction =
- AggregationType.valueOf(
- ((FunctionExpression)
expression).getFunctionName().toUpperCase());
return new AggregationDescriptor(
- aggregationFunction, curStep, expression.getExpressions());
+ ((FunctionExpression) expression).getFunctionName(),
+ curStep,
+ expression.getExpressions());
})
.collect(Collectors.toList());
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
index 22bc078f3b..8221811da1 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
@@ -146,7 +146,7 @@ public class LogicalPlanner {
planBuilder =
planBuilder.planDeviceView(
deviceToSubPlanMap,
- analysis.getRespDatasetHeader().getRespColumns().stream()
+
analysis.getRespDatasetHeader().getColumnNameWithoutAlias().stream()
.distinct()
.collect(Collectors.toList()),
analysis.getDeviceToMeasurementIndexesMap(),
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java
index 676d93b3b4..070256c39e 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/SourceRewriter.java
@@ -306,7 +306,7 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
descriptor -> {
leafAggDescriptorList.add(
new AggregationDescriptor(
- descriptor.getAggregationType(),
+ descriptor.getAggregationFuncName(),
AggregationStep.PARTIAL,
descriptor.getInputExpressions()));
});
@@ -320,7 +320,7 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
descriptor -> {
rootAggDescriptorList.add(
new AggregationDescriptor(
- descriptor.getAggregationType(),
+ descriptor.getAggregationFuncName(),
AggregationStep.FINAL,
descriptor.getInputExpressions()));
});
@@ -488,7 +488,7 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
descriptor -> {
rootAggDescriptorList.add(
new AggregationDescriptor(
- descriptor.getAggregationType(),
+ descriptor.getAggregationFuncName(),
context.isRoot ? AggregationStep.FINAL :
AggregationStep.INTERMEDIATE,
descriptor.getInputExpressions()));
});
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
index feff4fd15c..daf7955522 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
@@ -36,8 +36,10 @@ import java.util.stream.Collectors;
public class AggregationDescriptor {
- // aggregation function name
+ // aggregation function type
protected final AggregationType aggregationType;
+ // In case user's input is case-sensitive, we should keep the origin string.
+ protected final String aggregationFuncName;
// indicate the input and output type
protected AggregationStep step;
@@ -56,24 +58,29 @@ public class AggregationDescriptor {
private String parametersString;
public AggregationDescriptor(
- AggregationType aggregationType, AggregationStep step, List<Expression>
inputExpressions) {
- this.aggregationType = aggregationType;
+ String aggregationFuncName, AggregationStep step, List<Expression>
inputExpressions) {
+ this.aggregationFuncName = aggregationFuncName;
+ this.aggregationType =
AggregationType.valueOf(aggregationFuncName.toUpperCase());
this.step = step;
this.inputExpressions = inputExpressions;
}
public AggregationDescriptor(AggregationDescriptor other) {
+ this.aggregationFuncName = other.aggregationFuncName;
this.aggregationType = other.getAggregationType();
this.step = other.getStep();
this.inputExpressions = other.getInputExpressions();
}
+ public String getAggregationFuncName() {
+ return aggregationFuncName;
+ }
+
public List<String> getOutputColumnNames() {
- List<AggregationType> outputAggregationTypes =
- getActualAggregationTypes(step.isOutputPartial());
+ List<String> outputAggregationNames =
getActualAggregationNames(step.isOutputPartial());
List<String> outputColumnNames = new ArrayList<>();
- for (AggregationType funcName : outputAggregationTypes) {
- outputColumnNames.add(funcName.toString().toLowerCase() + "(" +
getParametersString() + ")");
+ for (String funcName : outputAggregationNames) {
+ outputColumnNames.add(funcName + "(" + getParametersString() + ")");
}
return outputColumnNames;
}
@@ -93,11 +100,10 @@ public class AggregationDescriptor {
}
public List<String> getInputColumnNames(Expression inputExpression) {
- List<AggregationType> inputAggregationTypes =
getActualAggregationTypes(step.isInputPartial());
+ List<String> inputAggregationNames =
getActualAggregationNames(step.isInputPartial());
List<String> inputColumnNames = new ArrayList<>();
- for (AggregationType funcName : inputAggregationTypes) {
- inputColumnNames.add(
- funcName.toString().toLowerCase() + "(" +
inputExpression.getExpressionString() + ")");
+ for (String funcName : inputAggregationNames) {
+ inputColumnNames.add(funcName + "(" +
inputExpression.getExpressionString() + ")");
}
return inputColumnNames;
}
@@ -113,29 +119,30 @@ public class AggregationDescriptor {
return inputColumnNameToExpressionMap;
}
- protected List<AggregationType> getActualAggregationTypes(boolean isPartial)
{
- List<AggregationType> outputAggregationTypes = new ArrayList<>();
+ /** Keep the lower case of function name for partial result, and origin
value for others. */
+ protected List<String> getActualAggregationNames(boolean isPartial) {
+ List<String> outputAggregationNames = new ArrayList<>();
if (isPartial) {
switch (aggregationType) {
case AVG:
- outputAggregationTypes.add(AggregationType.COUNT);
- outputAggregationTypes.add(AggregationType.SUM);
+
outputAggregationNames.add(AggregationType.COUNT.name().toLowerCase());
+ outputAggregationNames.add(AggregationType.SUM.name().toLowerCase());
break;
case FIRST_VALUE:
- outputAggregationTypes.add(AggregationType.FIRST_VALUE);
- outputAggregationTypes.add(AggregationType.MIN_TIME);
+
outputAggregationNames.add(AggregationType.FIRST_VALUE.name().toLowerCase());
+
outputAggregationNames.add(AggregationType.MIN_TIME.name().toLowerCase());
break;
case LAST_VALUE:
- outputAggregationTypes.add(AggregationType.LAST_VALUE);
- outputAggregationTypes.add(AggregationType.MAX_TIME);
+
outputAggregationNames.add(AggregationType.LAST_VALUE.name().toLowerCase());
+
outputAggregationNames.add(AggregationType.MAX_TIME.name().toLowerCase());
break;
default:
- outputAggregationTypes.add(aggregationType);
+ outputAggregationNames.add(aggregationFuncName);
}
} else {
- outputAggregationTypes.add(aggregationType);
+ outputAggregationNames.add(aggregationFuncName);
}
- return outputAggregationTypes;
+ return outputAggregationNames;
}
/**
@@ -182,12 +189,11 @@ public class AggregationDescriptor {
}
public AggregationDescriptor deepClone() {
- return new AggregationDescriptor(
- this.getAggregationType(), this.getStep(), this.getInputExpressions());
+ return new AggregationDescriptor(this);
}
public void serialize(ByteBuffer byteBuffer) {
- ReadWriteIOUtils.write(aggregationType.ordinal(), byteBuffer);
+ ReadWriteIOUtils.write(aggregationFuncName, byteBuffer);
step.serialize(byteBuffer);
ReadWriteIOUtils.write(inputExpressions.size(), byteBuffer);
for (Expression expression : inputExpressions) {
@@ -196,7 +202,7 @@ public class AggregationDescriptor {
}
public void serialize(DataOutputStream stream) throws IOException {
- ReadWriteIOUtils.write(aggregationType.ordinal(), stream);
+ ReadWriteIOUtils.write(aggregationFuncName, stream);
step.serialize(stream);
ReadWriteIOUtils.write(inputExpressions.size(), stream);
for (Expression expression : inputExpressions) {
@@ -205,8 +211,7 @@ public class AggregationDescriptor {
}
public static AggregationDescriptor deserialize(ByteBuffer byteBuffer) {
- AggregationType aggregationType =
- AggregationType.values()[ReadWriteIOUtils.readInt(byteBuffer)];
+ String aggregationFuncName = ReadWriteIOUtils.readString(byteBuffer);
AggregationStep step = AggregationStep.deserialize(byteBuffer);
int inputExpressionsSize = ReadWriteIOUtils.readInt(byteBuffer);
List<Expression> inputExpressions = new ArrayList<>(inputExpressionsSize);
@@ -214,7 +219,7 @@ public class AggregationDescriptor {
inputExpressions.add(Expression.deserialize(byteBuffer));
inputExpressionsSize--;
}
- return new AggregationDescriptor(aggregationType, step, inputExpressions);
+ return new AggregationDescriptor(aggregationFuncName, step,
inputExpressions);
}
@Override
@@ -237,6 +242,6 @@ public class AggregationDescriptor {
}
public String toString() {
- return String.format("AggregationDescriptor(%s, %s)", aggregationType,
step);
+ return String.format("AggregationDescriptor(%s, %s)", aggregationFuncName,
step);
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/GroupByLevelDescriptor.java
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/GroupByLevelDescriptor.java
index 29740c7bd6..5fd7162a13 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/GroupByLevelDescriptor.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/GroupByLevelDescriptor.java
@@ -20,7 +20,6 @@
package org.apache.iotdb.db.mpp.plan.planner.plan.parameter;
import org.apache.iotdb.db.mpp.plan.expression.Expression;
-import org.apache.iotdb.db.query.aggregation.AggregationType;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -34,11 +33,11 @@ public class GroupByLevelDescriptor extends
AggregationDescriptor {
private final Expression outputExpression;
public GroupByLevelDescriptor(
- AggregationType aggregationType,
+ String aggregationFuncName,
AggregationStep step,
List<Expression> inputExpressions,
Expression outputExpression) {
- super(aggregationType, step, inputExpressions);
+ super(aggregationFuncName, step, inputExpressions);
this.outputExpression = outputExpression;
}
@@ -69,7 +68,7 @@ public class GroupByLevelDescriptor extends
AggregationDescriptor {
public GroupByLevelDescriptor deepClone() {
return new GroupByLevelDescriptor(
- this.getAggregationType(),
+ this.getAggregationFuncName(),
this.getStep(),
this.getInputExpressions(),
this.getOutputExpression());
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AggregationDescriptorTest.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AggregationDescriptorTest.java
index 4b8bbf6b00..ac4c846813 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AggregationDescriptorTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AggregationDescriptorTest.java
@@ -61,38 +61,38 @@ public class AggregationDescriptorTest {
static {
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.AVG,
+ AggregationType.AVG.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.SUM,
+ AggregationType.SUM.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.AVG,
+ AggregationType.AVG.name().toLowerCase(),
AggregationStep.INTERMEDIATE,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.INTERMEDIATE,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new
TimeSeriesOperand(pathMap.get("root.sg.d1.s1")))));
groupByLevelDescriptorList.add(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(pathMap.get("root.sg.d2.s1")),
@@ -100,7 +100,7 @@ public class AggregationDescriptorTest {
new TimeSeriesOperand(pathMap.get("root.sg.*.s1"))));
groupByLevelDescriptorList.add(
new GroupByLevelDescriptor(
- AggregationType.AVG,
+ AggregationType.AVG.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(pathMap.get("root.sg.d1.s1")),
@@ -108,7 +108,7 @@ public class AggregationDescriptorTest {
new TimeSeriesOperand(pathMap.get("root.sg.*.s1"))));
groupByLevelDescriptorList.add(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.INTERMEDIATE,
Arrays.asList(
new TimeSeriesOperand(pathMap.get("root.sg.d2.s1")),
@@ -116,7 +116,7 @@ public class AggregationDescriptorTest {
new TimeSeriesOperand(pathMap.get("root.sg.*.s1"))));
groupByLevelDescriptorList.add(
new GroupByLevelDescriptor(
- AggregationType.AVG,
+ AggregationType.AVG.name().toLowerCase(),
AggregationStep.INTERMEDIATE,
Arrays.asList(
new TimeSeriesOperand(pathMap.get("root.sg.d1.s1")),
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
index 9eda86a8d0..eafc52d1b0 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
@@ -372,12 +372,12 @@ public class QueryLogicalPlanUtil {
(AlignedPath) schemaMap.get("root.sg.d2.a"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.FIRST_VALUE,
+ AggregationType.FIRST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1")))),
new AggregationDescriptor(
- AggregationType.SUM,
+ AggregationType.SUM.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s2"))))),
@@ -389,7 +389,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s1"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.FIRST_VALUE,
+ AggregationType.FIRST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1"))))),
@@ -401,7 +401,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s1"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.FIRST_VALUE,
+ AggregationType.FIRST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -413,7 +413,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.SUM,
+ AggregationType.SUM.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s2"))))),
@@ -425,7 +425,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.SUM,
+ AggregationType.SUM.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s2"))))),
@@ -437,7 +437,7 @@ public class QueryLogicalPlanUtil {
new AlignedPath((MeasurementPath)
schemaMap.get("root.sg.d2.a.s1")),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1"))))),
@@ -449,7 +449,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s1"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1"))))),
@@ -461,7 +461,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s1"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -500,17 +500,17 @@ public class QueryLogicalPlanUtil {
(AlignedPath) schemaMap.get("root.sg.d2.a"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1")))),
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1")))),
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s2"))))),
@@ -522,12 +522,12 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s1"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1"))))),
@@ -539,12 +539,12 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s1"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -556,7 +556,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s2"))))),
@@ -568,7 +568,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s2"))))),
@@ -589,40 +589,40 @@ public class QueryLogicalPlanUtil {
sourceNodeList,
Arrays.asList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")),
new TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.s1"))),
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.*.s1"))),
new GroupByLevelDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d1.s2")),
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s2"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.s2"))),
new GroupByLevelDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s2"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.*.s2"))),
new GroupByLevelDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")),
new TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.s1"))),
new GroupByLevelDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.a.s1"))),
@@ -652,12 +652,12 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s1"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -669,7 +669,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d1.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s2"))))),
@@ -687,12 +687,12 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s1"),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1"))))),
@@ -704,7 +704,7 @@ public class QueryLogicalPlanUtil {
(MeasurementPath) schemaMap.get("root.sg.d2.s2"),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s2"))))),
@@ -802,32 +802,32 @@ public class QueryLogicalPlanUtil {
Collections.singletonList(filterNode),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")))),
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1")))),
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s2")))),
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s2")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -840,21 +840,21 @@ public class QueryLogicalPlanUtil {
Collections.singletonList(aggregationNode),
Arrays.asList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")),
new TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.s1"))),
new GroupByLevelDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d1.s2")),
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s2"))),
new TimeSeriesOperand(schemaMap.get("root.sg.*.s2"))),
new GroupByLevelDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")),
@@ -923,17 +923,17 @@ public class QueryLogicalPlanUtil {
Collections.singletonList(filterNode1),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1")))),
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s2")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d1.s1"))))),
@@ -981,17 +981,17 @@ public class QueryLogicalPlanUtil {
Collections.singletonList(filterNode2),
Arrays.asList(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1")))),
new AggregationDescriptor(
- AggregationType.MAX_VALUE,
+ AggregationType.MAX_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s2")))),
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(
new
TimeSeriesOperand(schemaMap.get("root.sg.d2.s1"))))),
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/distribution/AggregationDistributionTest.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/distribution/AggregationDistributionTest.java
index fabc041d97..c250dd7e13 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/distribution/AggregationDistributionTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/distribution/AggregationDistributionTest.java
@@ -216,7 +216,7 @@ public class AggregationDistributionTest {
genAggregationSourceNode(queryId, d2s1Path,
AggregationType.COUNT)),
Collections.singletonList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new PartialPath(d1s1Path)),
@@ -253,7 +253,7 @@ public class AggregationDistributionTest {
genAggregationSourceNode(queryId, d4s1Path,
AggregationType.COUNT)),
Collections.singletonList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new PartialPath(d3s1Path)),
@@ -312,7 +312,7 @@ public class AggregationDistributionTest {
Collections.singletonList(slidingWindowAggregationNode),
Collections.singletonList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new PartialPath(d3s1Path)),
@@ -386,12 +386,12 @@ public class AggregationDistributionTest {
genAggregationSourceNode(queryId, d1s2Path,
AggregationType.COUNT)),
Arrays.asList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath(d1s1Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS1))),
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath(d1s2Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS2)))),
@@ -443,14 +443,14 @@ public class AggregationDistributionTest {
genAggregationSourceNode(queryId, d2s1Path,
AggregationType.COUNT)),
Arrays.asList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new PartialPath(d1s1Path)),
new TimeSeriesOperand(new PartialPath(d2s1Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS1))),
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath(d1s2Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS2)))),
@@ -515,14 +515,14 @@ public class AggregationDistributionTest {
Collections.singletonList(slidingWindowAggregationNode),
Arrays.asList(
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new PartialPath(d1s1Path)),
new TimeSeriesOperand(new PartialPath(d2s1Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS1))),
new GroupByLevelDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath(d1s2Path))),
new TimeSeriesOperand(new PartialPath(groupedPathS2)))),
@@ -649,7 +649,9 @@ public class AggregationDistributionTest {
.map(
path ->
new AggregationDescriptor(
- type, step, Collections.singletonList(new
TimeSeriesOperand(path))))
+ type.name().toLowerCase(),
+ step,
+ Collections.singletonList(new
TimeSeriesOperand(path))))
.collect(Collectors.toList()),
groupByTimeParameter,
OrderBy.TIMESTAMP_ASC);
@@ -660,7 +662,7 @@ public class AggregationDistributionTest {
List<AggregationDescriptor> descriptors = new ArrayList<>();
descriptors.add(
new AggregationDescriptor(
- type,
+ type.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath(path)))));
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
index 7a42e4c85c..5208c0913f 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
@@ -57,7 +57,7 @@ public class AggregationNodeSerdeTest {
new MeasurementPath("root.sg.d1.s1", TSDataType.BOOLEAN),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.INTERMEDIATE,
Collections.singletonList(
new TimeSeriesOperand(new
PartialPath("root.sg.d1.s1"))))),
@@ -71,7 +71,7 @@ public class AggregationNodeSerdeTest {
Collections.singletonList(seriesAggregationScanNode),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new TimeSeriesOperand(new
PartialPath("root.sg.d1.s1"))))),
@@ -96,7 +96,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -113,7 +113,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -129,7 +129,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -142,7 +142,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -164,7 +164,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -180,7 +180,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -193,7 +193,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -214,7 +214,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -230,7 +230,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -243,7 +243,7 @@ public class AggregationNodeSerdeTest {
for (AggregationType aggregationType : aggregationTypeList) {
descriptorList.add(
new AggregationDescriptor(
- aggregationType,
+ aggregationType.name().toLowerCase(),
AggregationStep.SINGLE,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
}
@@ -261,12 +261,12 @@ public class AggregationNodeSerdeTest {
List<AggregationDescriptor> descriptorList = new ArrayList<>();
descriptorList.add(
new AggregationDescriptor(
- AggregationType.AVG,
+ AggregationType.AVG.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
descriptorList.add(
new AggregationDescriptor(
- AggregationType.COUNT,
+ AggregationType.COUNT.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath2))));
@@ -279,12 +279,12 @@ public class AggregationNodeSerdeTest {
descriptorList = new ArrayList<>();
descriptorList.add(
new AggregationDescriptor(
- AggregationType.FIRST_VALUE,
+ AggregationType.FIRST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
descriptorList.add(
new AggregationDescriptor(
- AggregationType.MIN_TIME,
+ AggregationType.MIN_TIME.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath2))));
@@ -296,12 +296,12 @@ public class AggregationNodeSerdeTest {
descriptorList = new ArrayList<>();
descriptorList.add(
new AggregationDescriptor(
- AggregationType.LAST_VALUE,
+ AggregationType.LAST_VALUE.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath1))));
descriptorList.add(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.PARTIAL,
Collections.singletonList(new TimeSeriesOperand(seriesPath2))));
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
index 053c90702a..943402ac45 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
@@ -57,7 +57,7 @@ public class GroupByLevelNodeSerdeTest {
new MeasurementPath("root.sg.d1.s1", TSDataType.INT32),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new TimeSeriesOperand(new
PartialPath("root.sg.d1.s1"))))),
@@ -71,7 +71,7 @@ public class GroupByLevelNodeSerdeTest {
new MeasurementPath("root.sg.d2.s1", TSDataType.INT32),
Collections.singletonList(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(
new TimeSeriesOperand(new
PartialPath("root.sg.d2.s1"))))),
@@ -86,7 +86,7 @@ public class GroupByLevelNodeSerdeTest {
Arrays.asList(seriesAggregationScanNode1,
seriesAggregationScanNode2),
Collections.singletonList(
new GroupByLevelDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.FINAL,
Arrays.asList(
new TimeSeriesOperand(new
PartialPath("root.sg.d1.s1")),
diff --git
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
index 30631d98da..2eb810809b 100644
---
a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
+++
b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
@@ -51,7 +51,7 @@ public class SeriesAggregationScanNodeSerdeTest {
List<AggregationDescriptor> aggregationDescriptorList = new ArrayList<>();
aggregationDescriptorList.add(
new AggregationDescriptor(
- AggregationType.MAX_TIME,
+ AggregationType.MAX_TIME.name().toLowerCase(),
AggregationStep.FINAL,
Collections.singletonList(new TimeSeriesOperand(new
PartialPath("root.sg.d1.s1")))));
GroupByTimeParameter groupByTimeParameter =