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]