This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 9a3f54c1394123c8ec54c377c7ea499623f55d32 Author: jakevin <jakevin...@gmail.com> AuthorDate: Thu Jul 6 20:37:17 2023 +0800 [refactor](Nereids): remove withLogicalProperties & check children size (#21563) --- .../doris/nereids/analyzer/UnboundOlapTableSink.java | 6 ------ .../doris/nereids/analyzer/UnboundOneRowRelation.java | 5 ----- .../doris/nereids/analyzer/UnboundRelation.java | 6 ------ .../doris/nereids/analyzer/UnboundTVFRelation.java | 5 ----- .../apache/doris/nereids/rules/rewrite/MultiJoin.java | 5 ----- .../mv/AbstractSelectMaterializedIndexRule.java | 3 ++- .../apache/doris/nereids/trees/plans/FakePlan.java | 5 ----- .../apache/doris/nereids/trees/plans/GroupPlan.java | 10 ---------- .../org/apache/doris/nereids/trees/plans/Plan.java | 6 ------ .../doris/nereids/trees/plans/commands/Command.java | 5 ----- .../nereids/trees/plans/logical/LogicalAggregate.java | 5 +++-- .../nereids/trees/plans/logical/LogicalApply.java | 8 +------- .../trees/plans/logical/LogicalAssertNumRows.java | 9 ++------- .../doris/nereids/trees/plans/logical/LogicalCTE.java | 7 +------ .../nereids/trees/plans/logical/LogicalCTEAnchor.java | 5 ----- .../trees/plans/logical/LogicalCTEConsumer.java | 8 -------- .../trees/plans/logical/LogicalCTEProducer.java | 6 ------ .../trees/plans/logical/LogicalCheckPolicy.java | 6 +----- .../trees/plans/logical/LogicalEmptyRelation.java | 5 ----- .../nereids/trees/plans/logical/LogicalEsScan.java | 6 ------ .../nereids/trees/plans/logical/LogicalExcept.java | 6 ------ .../nereids/trees/plans/logical/LogicalFileScan.java | 6 ------ .../nereids/trees/plans/logical/LogicalFilter.java | 6 +----- .../nereids/trees/plans/logical/LogicalGenerate.java | 7 +------ .../nereids/trees/plans/logical/LogicalHaving.java | 6 +----- .../nereids/trees/plans/logical/LogicalIntersect.java | 6 ------ .../nereids/trees/plans/logical/LogicalJdbcScan.java | 6 ------ .../nereids/trees/plans/logical/LogicalJoin.java | 7 +------ .../nereids/trees/plans/logical/LogicalLimit.java | 6 +----- .../nereids/trees/plans/logical/LogicalOlapScan.java | 8 -------- .../trees/plans/logical/LogicalOlapTableSink.java | 6 ------ .../trees/plans/logical/LogicalOneRowRelation.java | 5 ----- .../trees/plans/logical/LogicalPartitionTopN.java | 7 +------ .../nereids/trees/plans/logical/LogicalProject.java | 7 +------ .../nereids/trees/plans/logical/LogicalRepeat.java | 7 +------ .../trees/plans/logical/LogicalSchemaScan.java | 5 ----- .../trees/plans/logical/LogicalSelectHint.java | 13 ++----------- .../nereids/trees/plans/logical/LogicalSort.java | 6 +----- .../trees/plans/logical/LogicalSubQueryAlias.java | 7 +------ .../trees/plans/logical/LogicalTVFRelation.java | 5 ----- .../nereids/trees/plans/logical/LogicalTopN.java | 6 +----- .../nereids/trees/plans/logical/LogicalUnion.java | 6 ------ .../nereids/trees/plans/logical/LogicalWindow.java | 7 +------ .../doris/nereids/trees/plans/logical/UsingJoin.java | 6 ------ .../trees/plans/physical/PhysicalAssertNumRows.java | 7 +------ .../trees/plans/physical/PhysicalCTEAnchor.java | 7 +------ .../trees/plans/physical/PhysicalCTEConsumer.java | 6 ------ .../trees/plans/physical/PhysicalCTEProducer.java | 5 ----- .../trees/plans/physical/PhysicalDistribute.java | 7 +------ .../trees/plans/physical/PhysicalEmptyRelation.java | 6 ------ .../nereids/trees/plans/physical/PhysicalEsScan.java | 5 ----- .../nereids/trees/plans/physical/PhysicalExcept.java | 6 ------ .../trees/plans/physical/PhysicalFileScan.java | 6 ------ .../nereids/trees/plans/physical/PhysicalFilter.java | 6 +----- .../trees/plans/physical/PhysicalGenerate.java | 7 +------ .../trees/plans/physical/PhysicalHashAggregate.java | 8 +------- .../trees/plans/physical/PhysicalHashJoin.java | 8 +------- .../trees/plans/physical/PhysicalIntersect.java | 6 ------ .../trees/plans/physical/PhysicalJdbcScan.java | 5 ----- .../nereids/trees/plans/physical/PhysicalLimit.java | 6 +----- .../trees/plans/physical/PhysicalNestedLoopJoin.java | 9 +-------- .../trees/plans/physical/PhysicalOlapScan.java | 7 ------- .../trees/plans/physical/PhysicalOlapTableSink.java | 6 ------ .../trees/plans/physical/PhysicalOneRowRelation.java | 6 ------ .../trees/plans/physical/PhysicalPartitionTopN.java | 6 ------ .../nereids/trees/plans/physical/PhysicalProject.java | 12 ++++-------- .../trees/plans/physical/PhysicalQuickSort.java | 6 +----- .../nereids/trees/plans/physical/PhysicalRepeat.java | 7 +------ .../trees/plans/physical/PhysicalSchemaScan.java | 6 ------ .../plans/physical/PhysicalStorageLayerAggregate.java | 6 ------ .../trees/plans/physical/PhysicalTVFRelation.java | 6 ------ .../nereids/trees/plans/physical/PhysicalTopN.java | 6 +----- .../nereids/trees/plans/physical/PhysicalUnion.java | 6 ------ .../nereids/trees/plans/physical/PhysicalWindow.java | 7 +------ .../doris/nereids/jobs/RewriteTopDownJobTest.java | 5 ----- .../nereids/jobs/cascades/DeriveStatsJobTest.java | 5 +++-- .../doris/nereids/stats/StatsCalculatorTest.java | 5 +++-- .../doris/nereids/trees/plans/PlanOutputTest.java | 19 ------------------- 78 files changed, 47 insertions(+), 462 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOlapTableSink.java index 0bc82838a5..344cfb9b69 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOlapTableSink.java @@ -113,12 +113,6 @@ public class UnboundOlapTableSink<CHILD_TYPE extends Plan> extends LogicalUnary< Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new UnboundOlapTableSink<>(nameParts, colNames, hints, partitions, groupExpression, - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOneRowRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOneRowRelation.java index 1b68127a38..3f349c9224 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOneRowRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundOneRowRelation.java @@ -87,11 +87,6 @@ public class UnboundOneRowRelation extends LogicalLeaf implements Unbound, OneRo return new UnboundOneRowRelation(id, projects, groupExpression, Optional.of(logicalPropertiesSupplier.get())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new UnboundOneRowRelation(id, projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundRelation.java index 08a1c8ebfb..1f820398d9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundRelation.java @@ -98,12 +98,6 @@ public class UnboundRelation extends LogicalRelation implements Unbound { isTempPart, hints); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new UnboundRelation(id, nameParts, Optional.empty(), logicalProperties, partNames, - isTempPart, hints); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFRelation.java index ccceb55373..2116c63c29 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFRelation.java @@ -99,11 +99,6 @@ public class UnboundTVFRelation extends LogicalLeaf implements TVFRelation, Unbo Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new UnboundTVFRelation(id, functionName, properties, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MultiJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MultiJoin.java index 11aedf3536..4255648c31 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MultiJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MultiJoin.java @@ -168,11 +168,6 @@ public class MultiJoin extends AbstractLogicalPlan { throw new RuntimeException("multiJoin can't invoke withGroupExpression"); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - throw new RuntimeException("multiJoin can't invoke withLogicalProperties"); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java index 7fd1e080e1..1960dbabdc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java @@ -504,7 +504,8 @@ public abstract class AbstractSelectMaterializedIndexRule { @Override public LogicalOlapScan visitLogicalOlapScan(LogicalOlapScan scan, Void ctx) { - return scan.withLogicalProperties(Optional.empty()); + return (LogicalOlapScan) scan.withGroupExprLogicalPropChildren(scan.getGroupExpression(), Optional.empty(), + ImmutableList.of()); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/FakePlan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/FakePlan.java index e1011bf69e..b964bec262 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/FakePlan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/FakePlan.java @@ -100,11 +100,6 @@ public class FakePlan implements Plan { return this; } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return this; - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/GroupPlan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/GroupPlan.java index 7384f353f9..0d4d278abf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/GroupPlan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/GroupPlan.java @@ -64,11 +64,6 @@ public class GroupPlan extends LogicalLeaf { throw new IllegalStateException("GroupPlan can not invoke getStats()"); } - @Override - public GroupPlan withOutput(List<Slot> output) { - throw new IllegalStateException("GroupPlan can not invoke withOutput()"); - } - @Override public GroupPlan withChildren(List<Plan> children) { throw new IllegalStateException("GroupPlan can not invoke withChildren()"); @@ -79,11 +74,6 @@ public class GroupPlan extends LogicalLeaf { throw new IllegalStateException("GroupPlan can not invoke withGroupExpression()"); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - throw new IllegalStateException("GroupPlan can not invoke withLogicalProperties()"); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java index 8388f256c8..05bebf7403 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java @@ -121,14 +121,8 @@ public interface Plan extends TreeNode<Plan> { String treeString(); - default Plan withOutput(List<Slot> output) { - return withLogicalProperties(Optional.of(getLogicalProperties().withOutput(output))); - } - Plan withGroupExpression(Optional<GroupExpression> groupExpression); - Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties); - Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/Command.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/Command.java index f53246c881..e5c7413fa6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/Command.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/Command.java @@ -123,9 +123,4 @@ public abstract class Command extends AbstractPlan implements LogicalPlan { public Plan withGroupExpression(Optional<GroupExpression> groupExpression) { throw new RuntimeException("Command do not implement withGroupExpression"); } - - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - throw new RuntimeException("Command do not implement withLogicalProperties"); - } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAggregate.java index d15fa0c3c6..f244d8090e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAggregate.java @@ -228,8 +228,9 @@ public class LogicalAggregate<CHILD_TYPE extends Plan> @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { - return new LogicalAggregate<>(groupByExpressions, outputExpressions, normalized, ordinalIsResolved, - sourceRepeat, groupExpression, Optional.of(getLogicalProperties()), children.get(0)); + Preconditions.checkArgument(children.size() == 1); + return new LogicalAggregate<>(groupByExpressions, outputExpressions, normalized, ordinalIsResolved, generated, + hasPushed, sourceRepeat, groupExpression, Optional.of(getLogicalProperties()), children.get(0)); } public LogicalAggregate<Plan> withGroupByAndOutput(List<Expression> groupByExprList, diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalApply.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalApply.java index eb0d9f90cc..4d255c5c04 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalApply.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalApply.java @@ -215,16 +215,10 @@ public class LogicalApply<LEFT_CHILD_TYPE extends Plan, RIGHT_CHILD_TYPE extends markJoinSlotReference, subCorrespondingConjunct, needAddSubOutputToProjects, left(), right()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalApply<>(Optional.empty(), logicalProperties, - correlationSlot, subqueryExpr, correlationFilter, - markJoinSlotReference, subCorrespondingConjunct, needAddSubOutputToProjects, left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 2); return new LogicalApply<>(groupExpression, logicalProperties, correlationSlot, subqueryExpr, correlationFilter, markJoinSlotReference, subCorrespondingConjunct, needAddSubOutputToProjects, children.get(0), children.get(1)); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAssertNumRows.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAssertNumRows.java index d5d00e5816..69b5942c72 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAssertNumRows.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalAssertNumRows.java @@ -104,16 +104,11 @@ public class LogicalAssertNumRows<CHILD_TYPE extends Plan> extends LogicalUnary< groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalAssertNumRows<>(assertNumRowsElement, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { - return new LogicalAssertNumRows<>(assertNumRowsElement, - groupExpression, logicalProperties, children.get(0)); + Preconditions.checkArgument(children.size() == 1); + return new LogicalAssertNumRows<>(assertNumRowsElement, groupExpression, logicalProperties, children.get(0)); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTE.java index 081892d561..9b2727faab 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTE.java @@ -145,15 +145,10 @@ public class LogicalCTE<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_TYPE registered, cteNameToId); } - @Override - public LogicalCTE<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalCTE<>(aliasQueries, Optional.empty(), logicalProperties, child(), registered, - cteNameToId); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(aliasQueries.size() > 0); return new LogicalCTE<>(aliasQueries, groupExpression, logicalProperties, children.get(0), registered, cteNameToId); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEAnchor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEAnchor.java index 418b5e1ecd..605554efc1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEAnchor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEAnchor.java @@ -72,11 +72,6 @@ public class LogicalCTEAnchor<LEFT_CHILD_TYPE extends Plan, return new LogicalCTEAnchor<>(groupExpression, Optional.of(getLogicalProperties()), left(), right(), cteId); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalCTEAnchor<>(groupExpression, logicalProperties, left(), right(), cteId); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEConsumer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEConsumer.java index ada59a6728..33e688645d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEConsumer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEConsumer.java @@ -117,14 +117,6 @@ public class LogicalCTEConsumer extends LogicalLeaf { consumerId, name); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalCTEConsumer(groupExpression, logicalProperties, cteId, - consumerToProducerOutputMap, - producerToConsumerOutputMap, - consumerId, name); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEProducer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEProducer.java index 135d8c35bd..b6123edaca 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEProducer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEProducer.java @@ -97,12 +97,6 @@ public class LogicalCTEProducer<CHILD_TYPE extends Plan> extends LogicalUnary<CH projects, rewritten); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalCTEProducer<>(groupExpression, logicalProperties, child(), cteId, - projects, rewritten); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCheckPolicy.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCheckPolicy.java index 78349a87ae..78578fa7b5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCheckPolicy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCheckPolicy.java @@ -99,14 +99,10 @@ public class LogicalCheckPolicy<CHILD_TYPE extends Plan> extends LogicalUnary<CH return new LogicalCheckPolicy<>(groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalCheckPolicy<>(Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalCheckPolicy<>(groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEmptyRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEmptyRelation.java index 15748c6eb9..3484b95983 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEmptyRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEmptyRelation.java @@ -77,11 +77,6 @@ public class LogicalEmptyRelation extends LogicalLeaf implements EmptyRelation, return new LogicalEmptyRelation(projects, groupExpression, Optional.of(logicalPropertiesSupplier.get())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalEmptyRelation(projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java index 4948603b86..012348938b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java @@ -70,12 +70,6 @@ public class LogicalEsScan extends LogicalRelation { Optional.of(getLogicalProperties())); } - @Override - public LogicalEsScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalEsScan(id, (ExternalTable) table, qualifier, groupExpression, - logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalExcept.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalExcept.java index 0bb91b25d8..9766e7d846 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalExcept.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalExcept.java @@ -70,12 +70,6 @@ public class LogicalExcept extends LogicalSetOperation { Optional.of(getLogicalProperties()), children); } - @Override - public LogicalExcept withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalExcept(qualifier, outputs, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java index e3dd7d4097..52d66de129 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java @@ -83,12 +83,6 @@ public class LogicalFileScan extends LogicalRelation { Optional.of(getLogicalProperties()), conjuncts); } - @Override - public LogicalFileScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalFileScan(id, (ExternalTable) table, qualifier, groupExpression, - logicalProperties, conjuncts); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFilter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFilter.java index 6f38a633a5..6943062e7d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFilter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFilter.java @@ -126,14 +126,10 @@ public class LogicalFilter<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_T return new LogicalFilter<>(conjuncts, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalFilter<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalFilter<>(conjuncts, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalFilter<>(conjuncts, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalGenerate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalGenerate.java index 2310930c96..e8778b13d7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalGenerate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalGenerate.java @@ -90,15 +90,10 @@ public class LogicalGenerate<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalGenerate<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalGenerate<>(generators, generatorOutput, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalGenerate<>(generators, generatorOutput, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalHaving.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalHaving.java index dad0f71c6f..6537770b40 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalHaving.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalHaving.java @@ -80,14 +80,10 @@ public class LogicalHaving<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_T return new LogicalHaving<>(conjuncts, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalHaving<>(conjuncts, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalHaving<>(conjuncts, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalIntersect.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalIntersect.java index 41f9c81a2a..5d9b910916 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalIntersect.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalIntersect.java @@ -71,12 +71,6 @@ public class LogicalIntersect extends LogicalSetOperation { Optional.of(getLogicalProperties()), children); } - @Override - public LogicalIntersect withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalIntersect(qualifier, outputs, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java index 775cfedfd8..ee12dc521a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java @@ -73,12 +73,6 @@ public class LogicalJdbcScan extends LogicalRelation { Optional.of(getLogicalProperties())); } - @Override - public LogicalJdbcScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalJdbcScan(id, table, qualifier, groupExpression, - logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJoin.java index 6492d9f9bf..5a6d53a792 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJoin.java @@ -261,15 +261,10 @@ public class LogicalJoin<LEFT_CHILD_TYPE extends Plan, RIGHT_CHILD_TYPE extends groupExpression, Optional.of(getLogicalProperties()), left(), right(), joinReorderContext); } - @Override - public LogicalJoin<Plan, Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, - Optional.empty(), logicalProperties, left(), right(), joinReorderContext); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 2); return new LogicalJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, groupExpression, logicalProperties, children.get(0), children.get(1), joinReorderContext); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalLimit.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalLimit.java index dd6f02e68e..48b89e761d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalLimit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalLimit.java @@ -121,14 +121,10 @@ public class LogicalLimit<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_TY return new LogicalLimit<>(limit, offset, phase, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalLimit<>(limit, offset, phase, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalLimit<>(limit, offset, phase, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java index ecd3c10ffe..ffd69a94e5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java @@ -229,14 +229,6 @@ public class LogicalOlapScan extends LogicalRelation implements CatalogRelation, hints, cacheSlotWithSlotName); } - @Override - public LogicalOlapScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalOlapScan(id, (Table) table, qualifier, Optional.empty(), logicalProperties, - selectedPartitionIds, partitionPruned, selectedTabletIds, - selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, - hints, cacheSlotWithSlotName); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapTableSink.java index ab5dd01d78..e1469397e0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapTableSink.java @@ -121,12 +121,6 @@ public class LogicalOlapTableSink<CHILD_TYPE extends Plan> extends LogicalUnary< Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalOlapTableSink<>(database, targetTable, cols, partitionIds, groupExpression, - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOneRowRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOneRowRelation.java index 27ed333233..575c13b75b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOneRowRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOneRowRelation.java @@ -79,11 +79,6 @@ public class LogicalOneRowRelation extends LogicalLeaf implements OneRowRelation return new LogicalOneRowRelation(projects, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalOneRowRelation(projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPartitionTopN.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPartitionTopN.java index d9c5f47693..3c6da5534a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPartitionTopN.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPartitionTopN.java @@ -188,15 +188,10 @@ public class LogicalPartitionTopN<CHILD_TYPE extends Plan> extends LogicalUnary< groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalPartitionTopN<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalPartitionTopN<>(function, partitionKeys, orderKeys, hasGlobalLimit, partitionLimit, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalPartitionTopN<>(function, partitionKeys, orderKeys, hasGlobalLimit, partitionLimit, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java index 6c809173ca..2d1e2db3cc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalProject.java @@ -181,15 +181,10 @@ public class LogicalProject<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_ groupExpression, Optional.of(getLogicalProperties()), child(), isDistinct); } - @Override - public LogicalProject<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalProject<>(projects, excepts, canEliminate, Optional.empty(), logicalProperties, child(), - isDistinct); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalProject<>(projects, excepts, canEliminate, groupExpression, logicalProperties, children.get(0), isDistinct); } 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 9e3241f072..6c4dc30631 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 @@ -149,15 +149,10 @@ public class LogicalRepeat<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_T Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalRepeat<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalRepeat<>(groupingSets, outputExpressions, Optional.empty(), - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalRepeat<>(groupingSets, outputExpressions, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java index 47a53ee703..1b0e51d17b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java @@ -60,11 +60,6 @@ public class LogicalSchemaScan extends LogicalRelation implements Scan { return new LogicalSchemaScan(id, table, qualifier, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalSchemaScan(id, table, qualifier, groupExpression, logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java index 2444a2fe3f..260d29a1ab 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java @@ -48,11 +48,6 @@ public class LogicalSelectHint<CHILD_TYPE extends Plan> extends LogicalUnary<CHI this(hints, Optional.empty(), Optional.empty(), child); } - public LogicalSelectHint(Map<String, SelectHint> hints, - Optional<LogicalProperties> logicalProperties, CHILD_TYPE child) { - this(hints, Optional.empty(), logicalProperties, child); - } - /** * LogicalSelectHint's full parameter constructor. * @param hints hint maps, key is hint name, e.g. 'SET_VAR', and value is parameter pairs, e.g. query_time=100 @@ -79,7 +74,7 @@ public class LogicalSelectHint<CHILD_TYPE extends Plan> extends LogicalUnary<CHI @Override public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { - return visitor.visitLogicalSelectHint((LogicalSelectHint<Plan>) this, context); + return visitor.visitLogicalSelectHint(this, context); } @Override @@ -92,14 +87,10 @@ public class LogicalSelectHint<CHILD_TYPE extends Plan> extends LogicalUnary<CHI return new LogicalSelectHint<>(hints, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalSelectHint<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalSelectHint<>(hints, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalSelectHint<>(hints, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSort.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSort.java index 569c895df7..5918422966 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSort.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSort.java @@ -131,14 +131,10 @@ public class LogicalSort<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_TYP normalized); } - @Override - public LogicalSort<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalSort<>(orderKeys, Optional.empty(), logicalProperties, child(), false); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalSort<>(orderKeys, groupExpression, logicalProperties, children.get(0), normalized); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSubQueryAlias.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSubQueryAlias.java index fd99c98f4a..53bbee0002 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSubQueryAlias.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSubQueryAlias.java @@ -165,15 +165,10 @@ public class LogicalSubQueryAlias<CHILD_TYPE extends Plan> extends LogicalUnary< Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalSubQueryAlias<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalSubQueryAlias<>(qualifier, columnAliases, Optional.empty(), - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalSubQueryAlias<>(qualifier, columnAliases, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFRelation.java index 1d0fe13179..e068048d28 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFRelation.java @@ -58,11 +58,6 @@ public class LogicalTVFRelation extends LogicalRelation implements TVFRelation { return new LogicalTVFRelation(id, function, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public LogicalTVFRelation withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalTVFRelation(id, function, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTopN.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTopN.java index 3e21c46ab8..348a709176 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTopN.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTopN.java @@ -131,14 +131,10 @@ public class LogicalTopN<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_TYP child()); } - @Override - public LogicalTopN<Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalTopN<>(orderKeys, limit, offset, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalTopN<>(orderKeys, limit, offset, groupExpression, logicalProperties, children.get(0)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalUnion.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalUnion.java index 68e3bdcb61..d74af5a3af 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalUnion.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalUnion.java @@ -124,12 +124,6 @@ public class LogicalUnion extends LogicalSetOperation implements Union, OutputPr Optional.of(getLogicalProperties()), children); } - @Override - public LogicalUnion withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalUnion(qualifier, outputs, constantExprsList, hasPushedFilter, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalWindow.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalWindow.java index 76b07f7359..fcfe9906d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalWindow.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalWindow.java @@ -109,15 +109,10 @@ public class LogicalWindow<CHILD_TYPE extends Plan> extends LogicalUnary<CHILD_T groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalWindow<>(windowExpressions, isChecked, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalWindow<>(windowExpressions, isChecked, groupExpression, logicalProperties, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/UsingJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/UsingJoin.java index 5ae762dcbd..dd4ffbe796 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/UsingJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/UsingJoin.java @@ -116,12 +116,6 @@ public class UsingJoin<LEFT_CHILD_TYPE extends Plan, RIGHT_CHILD_TYPE extends Pl hashJoinConjuncts, groupExpression, Optional.of(getLogicalProperties()), hint, markJoinSlotReference); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new UsingJoin(joinType, child(0), child(1), otherJoinConjuncts, - hashJoinConjuncts, groupExpression, logicalProperties, hint, markJoinSlotReference); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalAssertNumRows.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalAssertNumRows.java index 201ff8c49b..cb1d175b39 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalAssertNumRows.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalAssertNumRows.java @@ -115,15 +115,10 @@ public class PhysicalAssertNumRows<CHILD_TYPE extends Plan> extends PhysicalUnar getLogicalProperties(), physicalProperties, statistics, child()); } - @Override - public PhysicalAssertNumRows<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalAssertNumRows<>(assertNumRowsElement, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalAssertNumRows<>(assertNumRowsElement, groupExpression, logicalProperties.get(), physicalProperties, statistics, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEAnchor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEAnchor.java index 4d4dd60e4f..d85a73d1b2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEAnchor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEAnchor.java @@ -116,15 +116,10 @@ public class PhysicalCTEAnchor< return new PhysicalCTEAnchor<>(cteId, groupExpression, getLogicalProperties(), child(0), child(1)); } - @Override - public PhysicalCTEAnchor<Plan, Plan> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalCTEAnchor<>(cteId, - Optional.empty(), logicalProperties.get(), child(0), child(1)); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 2); return new PhysicalCTEAnchor<>(cteId, groupExpression, logicalProperties.get(), children.get(0), children.get(1)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEConsumer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEConsumer.java index 7e2fcde661..91c0f2a403 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEConsumer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEConsumer.java @@ -154,12 +154,6 @@ public class PhysicalCTEConsumer extends PhysicalRelation { groupExpression, getLogicalProperties()); } - @Override - public PhysicalCTEConsumer withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalCTEConsumer(cteId, consumerToProducerSlotMap, producerToConsumerSlotMap, - Optional.empty(), logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java index c63ce08f20..bf148b17ac 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java @@ -116,11 +116,6 @@ public class PhysicalCTEProducer<CHILD_TYPE extends Plan> extends PhysicalUnary< return new PhysicalCTEProducer<>(cteId, projects, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalCTEProducer<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalCTEProducer<>(cteId, projects, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalDistribute.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalDistribute.java index d64898dc5c..6fc7f0bd44 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalDistribute.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalDistribute.java @@ -104,15 +104,10 @@ public class PhysicalDistribute<CHILD_TYPE extends Plan> extends PhysicalUnary<C return new PhysicalDistribute<>(distributionSpec, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalDistribute<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalDistribute<>(distributionSpec, Optional.empty(), - logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalDistribute<>(distributionSpec, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEmptyRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEmptyRelation.java index a77a5914de..d0865b83b8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEmptyRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEmptyRelation.java @@ -73,12 +73,6 @@ public class PhysicalEmptyRelation extends PhysicalLeaf implements EmptyRelation logicalPropertiesSupplier.get(), physicalProperties, statistics); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalEmptyRelation(projects, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java index eaa9459535..2dcc0bd0cc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java @@ -101,11 +101,6 @@ public class PhysicalEsScan extends PhysicalRelation { return new PhysicalEsScan(id, table, qualifier, distributionSpec, groupExpression, getLogicalProperties()); } - @Override - public PhysicalEsScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalEsScan(id, table, qualifier, distributionSpec, groupExpression, logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExcept.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExcept.java index 2b8587a77a..762d0d6d03 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExcept.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExcept.java @@ -78,12 +78,6 @@ public class PhysicalExcept extends PhysicalSetOperation { return new PhysicalExcept(qualifier, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalExcept withLogicalProperties( - Optional<LogicalProperties> logicalProperties) { - return new PhysicalExcept(qualifier, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java index bd829976ee..f9584c0c46 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java @@ -107,12 +107,6 @@ public class PhysicalFileScan extends PhysicalRelation { groupExpression, getLogicalProperties(), conjuncts); } - @Override - public PhysicalFileScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalFileScan(id, table, qualifier, distributionSpec, - groupExpression, logicalProperties.get(), conjuncts); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFilter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFilter.java index f4c9403640..c46adff343 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFilter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFilter.java @@ -113,14 +113,10 @@ public class PhysicalFilter<CHILD_TYPE extends Plan> extends PhysicalUnary<CHILD return new PhysicalFilter<>(conjuncts, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalFilter<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalFilter<>(conjuncts, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalFilter<>(conjuncts, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalGenerate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalGenerate.java index e148d5b0fd..2e7d09d3f9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalGenerate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalGenerate.java @@ -137,15 +137,10 @@ public class PhysicalGenerate<CHILD_TYPE extends Plan> extends PhysicalUnary<CHI groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalGenerate<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalGenerate<>(generators, generatorOutput, - Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalGenerate<>(generators, generatorOutput, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java index 2621e061aa..01c9065ab3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java @@ -245,16 +245,10 @@ public class PhysicalHashAggregate<CHILD_TYPE extends Plan> extends PhysicalUnar aggregateParam, maybeUsingStream, groupExpression, getLogicalProperties(), requireProperties, child()); } - @Override - public PhysicalHashAggregate<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalHashAggregate<>(groupByExpressions, outputExpressions, partitionExpressions, - aggregateParam, maybeUsingStream, Optional.empty(), logicalProperties.get(), - requireProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalHashAggregate<>(groupByExpressions, outputExpressions, partitionExpressions, aggregateParam, maybeUsingStream, groupExpression, logicalProperties.get(), requireProperties, children.get(0)); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java index edba3fb717..c8ed9ec8ed 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashJoin.java @@ -175,16 +175,10 @@ public class PhysicalHashJoin< groupExpression, getLogicalProperties(), left(), right()); } - @Override - public PhysicalHashJoin<LEFT_CHILD_TYPE, RIGHT_CHILD_TYPE> withLogicalProperties( - Optional<LogicalProperties> logicalProperties) { - return new PhysicalHashJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, - Optional.empty(), logicalProperties.get(), left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 2); return new PhysicalHashJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, groupExpression, logicalProperties.get(), children.get(0), children.get(1)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalIntersect.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalIntersect.java index 5bf7b43e49..3df464e33f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalIntersect.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalIntersect.java @@ -78,12 +78,6 @@ public class PhysicalIntersect extends PhysicalSetOperation { return new PhysicalIntersect(qualifier, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalIntersect withLogicalProperties( - Optional<LogicalProperties> logicalProperties) { - return new PhysicalIntersect(qualifier, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java index 31319cff6d..dd98dd7452 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java @@ -101,11 +101,6 @@ public class PhysicalJdbcScan extends PhysicalRelation { return new PhysicalJdbcScan(id, table, qualifier, distributionSpec, groupExpression, getLogicalProperties()); } - @Override - public PhysicalJdbcScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalJdbcScan(id, table, qualifier, distributionSpec, groupExpression, logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalLimit.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalLimit.java index 4aef608d1b..dd4e6388cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalLimit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalLimit.java @@ -117,14 +117,10 @@ public class PhysicalLimit<CHILD_TYPE extends Plan> extends PhysicalUnary<CHILD_ return new PhysicalLimit<>(limit, offset, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalLimit<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalLimit<>(limit, offset, phase, logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalLimit<>(limit, offset, phase, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java index f42cfe0924..5ba9f60a86 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalNestedLoopJoin.java @@ -140,17 +140,10 @@ public class PhysicalNestedLoopJoin< groupExpression, getLogicalProperties(), left(), right()); } - @Override - public PhysicalNestedLoopJoin<LEFT_CHILD_TYPE, RIGHT_CHILD_TYPE> withLogicalProperties( - Optional<LogicalProperties> logicalProperties) { - return new PhysicalNestedLoopJoin<>(joinType, - hashJoinConjuncts, otherJoinConjuncts, markJoinSlotReference, Optional.empty(), - logicalProperties.get(), left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 2); return new PhysicalNestedLoopJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, markJoinSlotReference, groupExpression, logicalProperties.get(), children.get(0), children.get(1)); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java index b7beeb976f..87823d9bc7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java @@ -157,13 +157,6 @@ public class PhysicalOlapScan extends PhysicalRelation implements OlapScan { groupExpression, getLogicalProperties()); } - @Override - public PhysicalOlapScan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalOlapScan(id, olapTable, qualifier, selectedIndexId, selectedTabletIds, - selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, Optional.empty(), - logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java index 40cfc65768..915c1eec70 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java @@ -173,12 +173,6 @@ public class PhysicalOlapTableSink<CHILD_TYPE extends Plan> extends PhysicalUnar groupExpression, getLogicalProperties(), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalOlapTableSink<>(database, targetTable, partitionIds, cols, singleReplicaLoad, - groupExpression, logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOneRowRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOneRowRelation.java index 6cc6c3f4d1..00328f739e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOneRowRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOneRowRelation.java @@ -77,12 +77,6 @@ public class PhysicalOneRowRelation extends PhysicalLeaf implements OneRowRelati logicalPropertiesSupplier.get(), physicalProperties, statistics); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalOneRowRelation(projects, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalPartitionTopN.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalPartitionTopN.java index 9c0e290ff5..a64528ea9f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalPartitionTopN.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalPartitionTopN.java @@ -161,12 +161,6 @@ public class PhysicalPartitionTopN<CHILD_TYPE extends Plan> extends PhysicalUnar groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalPartitionTopN<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalPartitionTopN<>(function, partitionKeys, orderKeys, hasGlobalLimit, partitionLimit, - Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalProject.java index 1131056c2d..6c36045df4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalProject.java @@ -103,7 +103,7 @@ public class PhysicalProject<CHILD_TYPE extends Plan> extends PhysicalUnary<CHIL @Override public PhysicalProject<Plan> withChildren(List<Plan> children) { Preconditions.checkArgument(children.size() == 1); - return new PhysicalProject<Plan>(projects, + return new PhysicalProject<>(projects, groupExpression, getLogicalProperties(), physicalProperties, @@ -117,14 +117,10 @@ public class PhysicalProject<CHILD_TYPE extends Plan> extends PhysicalUnary<CHIL return new PhysicalProject<>(projects, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalProject<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalProject<>(projects, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalProject<>(projects, groupExpression, logicalProperties.get(), children.get(0)); } @@ -142,12 +138,12 @@ public class PhysicalProject<CHILD_TYPE extends Plan> extends PhysicalUnary<CHIL * @return new project */ public PhysicalProject<Plan> withProjectionsAndChild(List<NamedExpression> projections, Plan child) { - return new PhysicalProject<Plan>(ImmutableList.copyOf(projections), + return new PhysicalProject<>(ImmutableList.copyOf(projections), groupExpression, getLogicalProperties(), physicalProperties, statistics, child - ); + ); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java index ea5fa4e723..c2ca598ab6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java @@ -84,14 +84,10 @@ public class PhysicalQuickSort<CHILD_TYPE extends Plan> extends AbstractPhysical return new PhysicalQuickSort<>(orderKeys, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalQuickSort<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalQuickSort<>(orderKeys, phase, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalQuickSort<>(orderKeys, phase, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRepeat.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRepeat.java index cfe423a9f6..258b99e128 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRepeat.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRepeat.java @@ -157,15 +157,10 @@ public class PhysicalRepeat<CHILD_TYPE extends Plan> extends PhysicalUnary<CHILD getLogicalProperties(), physicalProperties, statistics, child()); } - @Override - public PhysicalRepeat<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalRepeat<>(groupingSets, outputExpressions, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalRepeat<>(groupingSets, outputExpressions, groupExpression, logicalProperties.get(), physicalProperties, statistics, children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSchemaScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSchemaScan.java index 666a50252c..44e85777c0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSchemaScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalSchemaScan.java @@ -69,12 +69,6 @@ public class PhysicalSchemaScan extends PhysicalRelation implements Scan { statistics); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalSchemaScan(id, table, qualifier, groupExpression, logicalProperties.get(), - physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalStorageLayerAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalStorageLayerAggregate.java index cc865c9e87..ed57eebcb0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalStorageLayerAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalStorageLayerAggregate.java @@ -122,12 +122,6 @@ public class PhysicalStorageLayerAggregate extends PhysicalRelation { physicalProperties, statistics); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalStorageLayerAggregate(relation, aggOp, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFRelation.java index 776714a696..dfe5ad1168 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFRelation.java @@ -61,12 +61,6 @@ public class PhysicalTVFRelation extends PhysicalRelation implements TVFRelation physicalProperties, statistics); } - @Override - public PhysicalTVFRelation withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalTVFRelation(id, function, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java index 461cce9fab..559f7f2d0c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java @@ -119,14 +119,10 @@ public class PhysicalTopN<CHILD_TYPE extends Plan> extends AbstractPhysicalSort< return new PhysicalTopN<>(orderKeys, limit, offset, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalTopN<CHILD_TYPE> withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalTopN<>(orderKeys, limit, offset, phase, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalTopN<>(orderKeys, limit, offset, phase, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java index ac6dbe5e3e..c44dda6a3f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java @@ -99,12 +99,6 @@ public class PhysicalUnion extends PhysicalSetOperation implements Union { return new PhysicalUnion(qualifier, constantExprsList, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalUnion withLogicalProperties( - Optional<LogicalProperties> logicalProperties) { - return new PhysicalUnion(qualifier, constantExprsList, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java index bd06792655..fe5559940e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java @@ -137,15 +137,10 @@ public class PhysicalWindow<CHILD_TYPE extends Plan> extends PhysicalUnary<CHILD getLogicalProperties(), child()); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new PhysicalWindow<>(windowFrameGroup, requireProperties, Optional.empty(), - logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { + Preconditions.checkState(children.size() == 1); return new PhysicalWindow<>(windowFrameGroup, requireProperties, groupExpression, logicalProperties.get(), children.get(0)); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java index 7a8aba1bbe..8eb03d5b65 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java @@ -118,11 +118,6 @@ public class RewriteTopDownJobTest { return new LogicalBoundRelation(table, qualifier, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return new LogicalBoundRelation(table, qualifier, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/cascades/DeriveStatsJobTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/cascades/DeriveStatsJobTest.java index 3fff39d2de..e4c031e4a8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/cascades/DeriveStatsJobTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/cascades/DeriveStatsJobTest.java @@ -81,8 +81,9 @@ public class DeriveStatsJobTest { }}; OlapTable table1 = PlanConstructor.newOlapTable(tableId1, "t1", 0); - return new LogicalOlapScan(RelationUtil.newRelationId(), table1, Collections.emptyList()).withLogicalProperties( - Optional.of(new LogicalProperties(() -> ImmutableList.of(slot1)))); + return (LogicalOlapScan) new LogicalOlapScan(RelationUtil.newRelationId(), table1, + Collections.emptyList()).withGroupExprLogicalPropChildren(Optional.empty(), + Optional.of(new LogicalProperties(() -> ImmutableList.of(slot1))), ImmutableList.of()); } private LogicalAggregate constructAgg(Plan child) { diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/StatsCalculatorTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/StatsCalculatorTest.java index 8b928f4215..63365901a8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/StatsCalculatorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/StatsCalculatorTest.java @@ -252,8 +252,9 @@ public class StatsCalculatorTest { SlotReference slot1 = new SlotReference("c1", IntegerType.INSTANCE, true, qualifier); OlapTable table1 = PlanConstructor.newOlapTable(tableId1, "t1", 0); - LogicalOlapScan logicalOlapScan1 = new LogicalOlapScan(RelationUtil.newRelationId(), table1, Collections.emptyList()) - .withLogicalProperties(Optional.of(new LogicalProperties(() -> ImmutableList.of(slot1)))); + LogicalOlapScan logicalOlapScan1 = (LogicalOlapScan) new LogicalOlapScan(RelationUtil.newRelationId(), table1, + Collections.emptyList()).withGroupExprLogicalPropChildren(Optional.empty(), + Optional.of(new LogicalProperties(() -> ImmutableList.of(slot1))), ImmutableList.of()); Group childGroup = newGroup(); GroupExpression groupExpression = new GroupExpression(logicalOlapScan1, ImmutableList.of(childGroup)); Group ownerGroup = newGroup(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/PlanOutputTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/PlanOutputTest.java index 93d3ea6234..eb508f53c9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/PlanOutputTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/PlanOutputTest.java @@ -69,20 +69,6 @@ public class PlanOutputTest { } } - @Test - public void testWithOutput() { - LogicalOlapScan relationPlan = PlanConstructor.newLogicalOlapScan(0, "a", 0); - - List<Slot> output = relationPlan.getOutput(); - // column prune - Plan newPlan = relationPlan.withOutput(ImmutableList.of(output.get(0))); - output = newPlan.getOutput(); - Assertions.assertEquals(1, output.size()); - Assertions.assertEquals(output.get(0).getName(), "id"); - Assertions.assertEquals(output.get(0).getQualifiedName(), "db.a.id"); - Assertions.assertEquals(output.get(0).getDataType(), IntegerType.INSTANCE); - } - @Test public void testPhysicalPlanMustHaveLogicalProperties() { Assertions.assertThrows(NullPointerException.class, () -> @@ -93,11 +79,6 @@ public class PlanOutputTest { return null; } - @Override - public Plan withLogicalProperties(Optional<LogicalProperties> logicalProperties) { - return null; - } - @Override public Plan withGroupExprLogicalPropChildren(Optional<GroupExpression> groupExpression, Optional<LogicalProperties> logicalProperties, List<Plan> children) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org