You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2023/03/02 14:47:40 UTC
[iotdb] branch master updated: Remove redundant logic in reconstructExpressions() (#9200)
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 3057e4dce1 Remove redundant logic in reconstructExpressions() (#9200)
3057e4dce1 is described below
commit 3057e4dce12a0da28bfa91ab2920d1dd5329c7fa
Author: Li Yu Heng <li...@126.com>
AuthorDate: Thu Mar 2 22:47:33 2023 +0800
Remove redundant logic in reconstructExpressions() (#9200)
---
.../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 92 +---------------------
1 file changed, 3 insertions(+), 89 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
index 62df923970..162bbb27c7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
@@ -93,42 +93,7 @@ public class ExpressionUtils {
UnaryExpression expression, List<Expression> childExpressions) {
List<Expression> resultExpressions = new ArrayList<>();
for (Expression childExpression : childExpressions) {
- switch (expression.getExpressionType()) {
- case IS_NULL:
- resultExpressions.add(
- new IsNullExpression(childExpression, ((IsNullExpression) expression).isNot()));
- break;
- case IN:
- resultExpressions.add(
- new InExpression(
- childExpression,
- ((InExpression) expression).isNotIn(),
- ((InExpression) expression).getValues()));
- break;
- case LIKE:
- resultExpressions.add(
- new LikeExpression(
- childExpression,
- ((LikeExpression) expression).getPatternString(),
- ((LikeExpression) expression).getPattern()));
- break;
- case LOGIC_NOT:
- resultExpressions.add(new LogicNotExpression(childExpression));
- break;
- case NEGATION:
- resultExpressions.add(new NegationExpression(childExpression));
- break;
- case REGEXP:
- resultExpressions.add(
- new RegularExpression(
- childExpression,
- ((RegularExpression) expression).getPatternString(),
- ((RegularExpression) expression).getPattern()));
- break;
- default:
- throw new IllegalArgumentException(
- "unsupported expression type: " + expression.getExpressionType());
- }
+ resultExpressions.add(reconstructUnaryExpression(expression, childExpression));
}
return resultExpressions;
}
@@ -173,49 +138,7 @@ public class ExpressionUtils {
List<Expression> resultExpressions = new ArrayList<>();
for (Expression le : leftExpressions) {
for (Expression re : rightExpressions) {
- switch (expressionType) {
- case ADDITION:
- resultExpressions.add(new AdditionExpression(le, re));
- break;
- case SUBTRACTION:
- resultExpressions.add(new SubtractionExpression(le, re));
- break;
- case MULTIPLICATION:
- resultExpressions.add(new MultiplicationExpression(le, re));
- break;
- case DIVISION:
- resultExpressions.add(new DivisionExpression(le, re));
- break;
- case MODULO:
- resultExpressions.add(new ModuloExpression(le, re));
- break;
- case LESS_THAN:
- resultExpressions.add(new LessThanExpression(le, re));
- break;
- case LESS_EQUAL:
- resultExpressions.add(new LessEqualExpression(le, re));
- break;
- case GREATER_THAN:
- resultExpressions.add(new GreaterThanExpression(le, re));
- break;
- case GREATER_EQUAL:
- resultExpressions.add(new GreaterEqualExpression(le, re));
- break;
- case EQUAL_TO:
- resultExpressions.add(new EqualToExpression(le, re));
- break;
- case NON_EQUAL:
- resultExpressions.add(new NonEqualExpression(le, re));
- break;
- case LOGIC_AND:
- resultExpressions.add(new LogicAndExpression(le, re));
- break;
- case LOGIC_OR:
- resultExpressions.add(new LogicOrExpression(le, re));
- break;
- default:
- throw new IllegalArgumentException("unsupported expression type: " + expressionType);
- }
+ resultExpressions.add(reconstructBinaryExpression(expressionType, le, re));
}
}
return resultExpressions;
@@ -273,16 +196,7 @@ public class ExpressionUtils {
for (Expression fe : firstExpressions) {
for (Expression se : secondExpressions)
for (Expression te : thirdExpressions) {
- switch (expression.getExpressionType()) {
- case BETWEEN:
- resultExpressions.add(
- new BetweenExpression(
- fe, se, te, ((BetweenExpression) expression).isNotBetween()));
- break;
- default:
- throw new IllegalArgumentException(
- "unsupported expression type: " + expression.getExpressionType());
- }
+ resultExpressions.add(reconstructTernaryExpression(expression, fe, se, te));
}
}
return resultExpressions;