This is an automated email from the ASF dual-hosted git repository.

jakevin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 92bdf75836 [fix](Nereids): LogicalRepeat equals lack @Override (#23408)
92bdf75836 is described below

commit 92bdf758361fae04fb308eaa6df0bb1d77a381a9
Author: jakevin <[email protected]>
AuthorDate: Mon Aug 28 10:07:39 2023 +0800

    [fix](Nereids): LogicalRepeat equals lack @Override (#23408)
---
 .../doris/nereids/rules/rewrite/ColumnPruning.java     | 18 +++++++-----------
 .../nereids/trees/plans/logical/LogicalRepeat.java     |  9 +++------
 2 files changed, 10 insertions(+), 17 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/ColumnPruning.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/ColumnPruning.java
index 85e0f84524..f9ef20a7d0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/ColumnPruning.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/ColumnPruning.java
@@ -217,15 +217,9 @@ public class ColumnPruning extends 
DefaultPlanRewriter<PruneContext> implements
                 .build());
     }
 
-    public static final <P extends Plan> P pruneOutput(P plan, 
List<NamedExpression> originOutput,
-            Function<List<NamedExpression>, P> withPrunedOutput, PruneContext 
context) {
-        Optional<List<NamedExpression>> prunedOutputs = 
pruneOutput(originOutput, context);
-        return prunedOutputs.map(withPrunedOutput).orElse(plan);
-    }
-
     /** prune output */
-    public static Optional<List<NamedExpression>> pruneOutput(
-            List<NamedExpression> originOutput, PruneContext context) {
+    public static <P extends Plan> P pruneOutput(P plan, List<NamedExpression> 
originOutput,
+            Function<List<NamedExpression>, P> withPrunedOutput, PruneContext 
context) {
         List<NamedExpression> prunedOutputs = originOutput.stream()
                 .filter(output -> 
context.requiredSlots.contains(output.toSlot()))
                 .collect(ImmutableList.toImmutableList());
@@ -235,9 +229,11 @@ public class ColumnPruning extends 
DefaultPlanRewriter<PruneContext> implements
             prunedOutputs = ImmutableList.of(minimumColumn);
         }
 
-        return prunedOutputs.equals(originOutput)
-                ? Optional.empty()
-                : Optional.of(prunedOutputs);
+        if (prunedOutputs.equals(originOutput)) {
+            return plan;
+        } else {
+            return withPrunedOutput.apply(prunedOutputs);
+        }
     }
 
     private <P extends Plan> P pruneChildren(P plan) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRepeat.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRepeat.java
index 6c4dc30631..61fc8584d4 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRepeat.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRepeat.java
@@ -117,9 +117,7 @@ public class LogicalRepeat<CHILD_TYPE extends Plan> extends 
LogicalUnary<CHILD_T
                 .build();
     }
 
-    /**
-     * Determine the equality with another plan
-     */
+    @Override
     public boolean equals(Object o) {
         if (this == o) {
             return true;
@@ -127,9 +125,8 @@ public class LogicalRepeat<CHILD_TYPE extends Plan> extends 
LogicalUnary<CHILD_T
         if (o == null || getClass() != o.getClass()) {
             return false;
         }
-        LogicalRepeat that = (LogicalRepeat) o;
-        return Objects.equals(groupingSets, that.groupingSets)
-                && Objects.equals(outputExpressions, that.outputExpressions);
+        LogicalRepeat<?> that = (LogicalRepeat<?>) o;
+        return groupingSets.equals(that.groupingSets) && 
outputExpressions.equals(that.outputExpressions);
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to