From 190717dbcca78b7869352191d3d0a4e7d03562bb Mon Sep 17 00:00:00 2001
From: morrySnow <101034200+morrySnow@users.noreply.github.com>
Date: Mon, 5 Sep 2022 21:59:58 +0800
Subject: [PATCH] [enhancement](chore)add single space separator rule to fe
check style (#12354)
Some times, our code use more than one space as separator by mistake. This PR add a CheckStyle rule SingleSpaceSeparator to check that for Nereids.
---
fe/check/checkstyle/checkstyle.xml | 1 +
fe/check/checkstyle/suppressions.xml | 1 +
.../doris/nereids/analyzer/UnboundFunction.java | 4 ++--
.../glue/translator/ExpressionTranslator.java | 2 +-
.../glue/translator/PhysicalPlanTranslator.java | 2 +-
.../generator/LogicalLeafPatternGenerator.java | 2 +-
.../pattern/generator/PatternGenerator.java | 2 +-
.../rewrite/rules/SimplifyNotExprRule.java | 6 +++---
.../rewrite/logical/MergeConsecutiveFilters.java | 2 +-
.../trees/expressions/functions/WeekOfYear.java | 2 +-
.../org/apache/doris/nereids/util/JoinUtils.java | 2 +-
.../rewrite/ExpressionRewriteTest.java | 16 ++++++++--------
.../nereids/util/AnalyzeWhereSubqueryTest.java | 4 ++--
13 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/fe/check/checkstyle/checkstyle.xml b/fe/check/checkstyle/checkstyle.xml
index 77a56d1d5f..e10b841615 100644
--- a/fe/check/checkstyle/checkstyle.xml
+++ b/fe/check/checkstyle/checkstyle.xml
@@ -391,6 +391,7 @@ under the License.
+
+
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundFunction.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundFunction.java
index 66f07e5928..8ea8436c33 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundFunction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundFunction.java
@@ -64,13 +64,13 @@ public class UnboundFunction extends Expression implements Unbound {
String params = children.stream()
.map(Expression::toSql)
.collect(Collectors.joining(", "));
- return name + "(" + (isDistinct ? "DISTINCT " : "") + params + ")";
+ return name + "(" + (isDistinct ? "DISTINCT " : "") + params + ")";
}
@Override
public String toString() {
String params = Joiner.on(", ").join(children);
- return "'" + name + "(" + (isDistinct ? "DISTINCT " : "") + params + ")";
+ return "'" + name + "(" + (isDistinct ? "DISTINCT " : "") + params + ")";
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/ExpressionTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/ExpressionTranslator.java
index ebfb969758..c18611aea5 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/ExpressionTranslator.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/ExpressionTranslator.java
@@ -265,7 +265,7 @@ public class ExpressionTranslator extends DefaultExpressionVisitor";
+ return "<" + opType.name + ">";
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGenerator.java
index 8976f9b388..69d34b967d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGenerator.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PatternGenerator.java
@@ -275,7 +275,7 @@ public abstract class PatternGenerator {
childrenPattern = ", " + childrenPattern;
}
- String pattern = "default " + methodGeneric + "\n"
+ String pattern = "default " + methodGeneric + "\n"
+ "PatternDescriptor" + genericParam + "\n"
+ " " + patterName + "(" + methodParam + ") {\n"
+ " return new PatternDescriptor" + genericParam + "(\n"
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rewrite/rules/SimplifyNotExprRule.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rewrite/rules/SimplifyNotExprRule.java
index 6f797e09b7..c47ae7c17b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rewrite/rules/SimplifyNotExprRule.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rewrite/rules/SimplifyNotExprRule.java
@@ -51,7 +51,7 @@ public class SimplifyNotExprRule extends AbstractExpressionRewriteRule {
Expression child = not.child();
if (child instanceof ComparisonPredicate) {
ComparisonPredicate cp = (ComparisonPredicate) not.child();
- Expression left = rewrite(cp.left(), context);
+ Expression left = rewrite(cp.left(), context);
Expression right = rewrite(cp.right(), context);
// TODO: visit concrete class instead of `instanceof`.
@@ -59,7 +59,7 @@ public class SimplifyNotExprRule extends AbstractExpressionRewriteRule {
return new LessThanEqual(left, right);
} else if (child instanceof GreaterThanEqual) {
return new LessThan(left, right);
- } else if (child instanceof LessThan) {
+ } else if (child instanceof LessThan) {
return new GreaterThanEqual(left, right);
} else if (child instanceof LessThanEqual) {
return new GreaterThan(left, right);
@@ -68,7 +68,7 @@ public class SimplifyNotExprRule extends AbstractExpressionRewriteRule {
}
} else if (child instanceof CompoundPredicate) {
CompoundPredicate cp = (CompoundPredicate) not.child();
- Expression left = rewrite(new Not(cp.left()), context);
+ Expression left = rewrite(new Not(cp.left()), context);
Expression right = rewrite(new Not(cp.right()), context);
return cp.flip(left, right);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeConsecutiveFilters.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeConsecutiveFilters.java
index 4398f149cc..6ed9c3fd1d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeConsecutiveFilters.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/MergeConsecutiveFilters.java
@@ -42,7 +42,7 @@ import org.apache.doris.nereids.util.ExpressionUtils;
* |
* scan
*/
-public class MergeConsecutiveFilters extends OneRewriteRuleFactory {
+public class MergeConsecutiveFilters extends OneRewriteRuleFactory {
@Override
public Rule build() {
return logicalFilter(logicalFilter()).then(filter -> {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/WeekOfYear.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/WeekOfYear.java
index 6f4dc44548..acdd92e6f4 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/WeekOfYear.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/WeekOfYear.java
@@ -34,7 +34,7 @@ import java.util.List;
/**
* weekOfYear function
*/
-public class WeekOfYear extends BoundFunction implements UnaryExpression, ImplicitCastInputTypes {
+public class WeekOfYear extends BoundFunction implements UnaryExpression, ImplicitCastInputTypes {
private static final List EXPECTED_INPUT_TYPES = ImmutableList.of(
new TypeCollection(DateTimeType.INSTANCE)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java
index 2c1ded556a..75d04a6db7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java
@@ -102,7 +102,7 @@ public class JoinUtils {
* @return true if the equal can be used as hash join condition
*/
boolean isHashJoinCondition(EqualTo equalTo) {
- List equalLeft = equalTo.left().collect(SlotReference.class::isInstance);
+ List equalLeft = equalTo.left().collect(SlotReference.class::isInstance);
if (equalLeft.isEmpty()) {
return false;
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/rewrite/ExpressionRewriteTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/rewrite/ExpressionRewriteTest.java
index 79e8903e3c..48f197df86 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/rewrite/ExpressionRewriteTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/rewrite/ExpressionRewriteTest.java
@@ -121,17 +121,17 @@ public class ExpressionRewriteTest {
assertRewrite("(a and b) or ((d and c) and (d and e))", "(a and b) or (d and c and e)");
assertRewrite("(a or b) and ((d or c) or (d or e))", "(a or b) and (d or c or e)");
- assertRewrite("(a and b) or (a and b and c)", "a and b");
- assertRewrite("(a or b) and (a or b or c)", "a or b");
+ assertRewrite("(a and b) or (a and b and c)", "a and b");
+ assertRewrite("(a or b) and (a or b or c)", "a or b");
- assertRewrite("a and true", "a");
- assertRewrite("a or false", "a");
+ assertRewrite("a and true", "a");
+ assertRewrite("a or false", "a");
- assertRewrite("a and false", "false");
- assertRewrite("a or true", "true");
+ assertRewrite("a and false", "false");
+ assertRewrite("a or true", "true");
- assertRewrite("a or false or false or false", "a");
- assertRewrite("a and true and true and true", "a");
+ assertRewrite("a or false or false or false", "a");
+ assertRewrite("a and true and true and true", "a");
assertRewrite("(a and b) or a ", "a");
assertRewrite("(a or b) and a ", "a");
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeWhereSubqueryTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeWhereSubqueryTest.java
index ba90de7c94..9d8a8bbc81 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeWhereSubqueryTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeWhereSubqueryTest.java
@@ -362,7 +362,7 @@ public class AnalyzeWhereSubqueryTest extends TestWithFeService implements Patte
ImmutableList.of("default_cluster:test", "t7")), "aa")
)))
).when(FieldChecker.check("outputExpressions", ImmutableList.of(
- new Alias(new ExprId(8), new Max(new SlotReference(new ExprId(0), "aa", BigIntType.INSTANCE, true,
+ new Alias(new ExprId(8), new Max(new SlotReference(new ExprId(0), "aa", BigIntType.INSTANCE, true,
ImmutableList.of("t2"))), "max(aa)")
)))
.when(FieldChecker.check("groupByExpressions", ImmutableList.of()))
@@ -414,7 +414,7 @@ public class AnalyzeWhereSubqueryTest extends TestWithFeService implements Patte
logicalAggregate(
logicalProject()
).when(FieldChecker.check("outputExpressions", ImmutableList.of(
- new Alias(new ExprId(8), new Max(new SlotReference(new ExprId(0), "aa", BigIntType.INSTANCE, true,
+ new Alias(new ExprId(8), new Max(new SlotReference(new ExprId(0), "aa", BigIntType.INSTANCE, true,
ImmutableList.of("t2"))), "max(aa)"),
new SlotReference(new ExprId(7), "v2", BigIntType.INSTANCE, true,
ImmutableList.of("default_cluster:test", "t7")))))