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 0bc82838a57746..344cfb9b699441 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 Plan withGroupExpression(Optional groupExpression) { Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new UnboundOlapTableSink<>(nameParts, colNames, hints, partitions, groupExpression, - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 1b68127a38f023..3f349c9224b9bc 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 Plan withGroupExpression(Optional groupExpression) { return new UnboundOneRowRelation(id, projects, groupExpression, Optional.of(logicalPropertiesSupplier.get())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new UnboundOneRowRelation(id, projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 08a1c8ebfb89e5..1f820398d98ebf 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 Plan withGroupExpression(Optional groupExpression) { isTempPart, hints); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new UnboundRelation(id, nameParts, Optional.empty(), logicalProperties, partNames, - isTempPart, hints); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 ccceb55373b43c..2116c63c2952fd 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 Plan withGroupExpression(Optional groupExpression) { Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new UnboundTVFRelation(id, functionName, properties, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 11aedf35362b10..4255648c31c5c1 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 Plan withGroupExpression(Optional groupExpression) { throw new RuntimeException("multiJoin can't invoke withGroupExpression"); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - throw new RuntimeException("multiJoin can't invoke withLogicalProperties"); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 7fd1e080e1f797..1960dbabdcd7b2 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 LogicalProject visitLogicalProject(LogicalProject p @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 e1011bf69e180d..b964bec2621b4c 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 Plan withGroupExpression(Optional groupExpression) { return this; } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return this; - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 7384f353f966dd..0d4d278abfbbc4 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 Statistics getStats() { throw new IllegalStateException("GroupPlan can not invoke getStats()"); } - @Override - public GroupPlan withOutput(List output) { - throw new IllegalStateException("GroupPlan can not invoke withOutput()"); - } - @Override public GroupPlan withChildren(List children) { throw new IllegalStateException("GroupPlan can not invoke withChildren()"); @@ -79,11 +74,6 @@ public Plan withGroupExpression(Optional groupExpression) { throw new IllegalStateException("GroupPlan can not invoke withGroupExpression()"); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - throw new IllegalStateException("GroupPlan can not invoke withLogicalProperties()"); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 8388f256c83a4e..05bebf74033481 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 @@ default List computeOutput() { String treeString(); - default Plan withOutput(List output) { - return withLogicalProperties(Optional.of(getLogicalProperties().withOutput(output))); - } - Plan withGroupExpression(Optional groupExpression); - Plan withLogicalProperties(Optional logicalProperties); - Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 f53246c881451f..e5c7413fa6ec43 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 String treeString() { public Plan withGroupExpression(Optional groupExpression) { throw new RuntimeException("Command do not implement withGroupExpression"); } - - @Override - public Plan withLogicalProperties(Optional 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 725ef5f1d59add..e77f47e2b5c036 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 @@ -250,15 +250,10 @@ public LogicalAggregate withGroupExpression(Optional grou hasPushed, sourceRepeat, groupExpression, Optional.of(getLogicalProperties()), children.get(0)); } - @Override - public LogicalAggregate withLogicalProperties(Optional logicalProperties) { - return new LogicalAggregate<>(groupByExpressions, outputExpressions, normalized, ordinalIsResolved, generated, - hasPushed, sourceRepeat, Optional.empty(), logicalProperties, children.get(0)); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { + Preconditions.checkArgument(children.size() == 1); return new LogicalAggregate<>(groupByExpressions, outputExpressions, normalized, ordinalIsResolved, generated, hasPushed, sourceRepeat, groupExpression, Optional.of(getLogicalProperties()), children.get(0)); } 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 eb0d9f90ccbf66..4d255c5c043b64 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 Plan withGroupExpression(Optional groupExpression) { markJoinSlotReference, subCorrespondingConjunct, needAddSubOutputToProjects, left(), right()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalApply<>(Optional.empty(), logicalProperties, - correlationSlot, subqueryExpr, correlationFilter, - markJoinSlotReference, subCorrespondingConjunct, needAddSubOutputToProjects, left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 d5d00e58162204..69b5942c72d0fa 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 Plan withGroupExpression(Optional groupExpression) { groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalAssertNumRows<>(assertNumRowsElement, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 081892d5610d97..9b2727faabecb5 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 LogicalCTE withGroupExpression(Optional grou registered, cteNameToId); } - @Override - public LogicalCTE withLogicalProperties(Optional logicalProperties) { - return new LogicalCTE<>(aliasQueries, Optional.empty(), logicalProperties, child(), registered, - cteNameToId); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 418b5e1ecd44b2..605554efc109d6 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalCTEAnchor<>(groupExpression, Optional.of(getLogicalProperties()), left(), right(), cteId); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalCTEAnchor<>(groupExpression, logicalProperties, left(), right(), cteId); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 ada59a6728bae8..33e688645db076 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 Plan withGroupExpression(Optional groupExpression) { consumerId, name); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalCTEConsumer(groupExpression, logicalProperties, cteId, - consumerToProducerOutputMap, - producerToConsumerOutputMap, - consumerId, name); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 135d8c35bd58f3..b6123edacaf54a 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 Plan withGroupExpression(Optional groupExpression) { projects, rewritten); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalCTEProducer<>(groupExpression, logicalProperties, child(), cteId, - projects, rewritten); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 78349a87aefe97..78578fa7b52d6e 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalCheckPolicy<>(groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalCheckPolicy<>(Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 15748c6eb9418c..3484b959836070 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalEmptyRelation(projects, groupExpression, Optional.of(logicalPropertiesSupplier.get())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalEmptyRelation(projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 4948603b86557d..012348938bff31 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 LogicalEsScan withGroupExpression(Optional groupExpressi Optional.of(getLogicalProperties())); } - @Override - public LogicalEsScan withLogicalProperties(Optional logicalProperties) { - return new LogicalEsScan(id, (ExternalTable) table, qualifier, groupExpression, - logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 0bb91b25d8a71e..9766e7d846b46d 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 LogicalExcept withGroupExpression(Optional groupExpressi Optional.of(getLogicalProperties()), children); } - @Override - public LogicalExcept withLogicalProperties(Optional logicalProperties) { - return new LogicalExcept(qualifier, outputs, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 e3dd7d4097c261..52d66de129d14e 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 LogicalFileScan withGroupExpression(Optional groupExpres Optional.of(getLogicalProperties()), conjuncts); } - @Override - public LogicalFileScan withLogicalProperties(Optional logicalProperties) { - return new LogicalFileScan(id, (ExternalTable) table, qualifier, groupExpression, - logicalProperties, conjuncts); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 6f38a633a5d634..6943062e7dbd34 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 LogicalFilter withGroupExpression(Optional groupEx return new LogicalFilter<>(conjuncts, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalFilter withLogicalProperties(Optional logicalProperties) { - return new LogicalFilter<>(conjuncts, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 2310930c961054..e8778b13d7e07a 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 LogicalGenerate withGroupExpression(Optional group groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalGenerate withLogicalProperties(Optional logicalProperties) { - return new LogicalGenerate<>(generators, generatorOutput, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 dad0f71c6f007f..6537770b401331 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalHaving<>(conjuncts, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalHaving<>(conjuncts, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 41f9c81a2aeed3..5d9b91091634a1 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 LogicalIntersect withGroupExpression(Optional groupExpre Optional.of(getLogicalProperties()), children); } - @Override - public LogicalIntersect withLogicalProperties(Optional logicalProperties) { - return new LogicalIntersect(qualifier, outputs, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 775cfedfd89b75..ee12dc521abd4b 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 LogicalJdbcScan withGroupExpression(Optional groupExpres Optional.of(getLogicalProperties())); } - @Override - public LogicalJdbcScan withLogicalProperties(Optional logicalProperties) { - return new LogicalJdbcScan(id, table, qualifier, groupExpression, - logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 6492d9f9bf548b..5a6d53a7924914 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 LogicalJoin withGroupExpression(Optional gro groupExpression, Optional.of(getLogicalProperties()), left(), right(), joinReorderContext); } - @Override - public LogicalJoin withLogicalProperties(Optional logicalProperties) { - return new LogicalJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, - Optional.empty(), logicalProperties, left(), right(), joinReorderContext); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 dd6f02e68ec634..48b89e761dcaa2 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalLimit<>(limit, offset, phase, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalLimit<>(limit, offset, phase, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 ecd3c10ffeb44c..ffd69a94e5a0ec 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 LogicalOlapScan withGroupExpression(Optional groupExpres hints, cacheSlotWithSlotName); } - @Override - public LogicalOlapScan withLogicalProperties(Optional 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, Optional logicalProperties, List 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 ab5dd01d7806bd..e1469397e003e0 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 Plan withGroupExpression(Optional groupExpression) { Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalOlapTableSink<>(database, targetTable, cols, partitionIds, groupExpression, - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 27ed33323375c2..575c13b75b56e6 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalOneRowRelation(projects, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalOneRowRelation(projects, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 d9c5f476935a5c..3c6da5534a3640 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 LogicalPartitionTopN withGroupExpression(Optional groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalPartitionTopN withLogicalProperties(Optional logicalProperties) { - return new LogicalPartitionTopN<>(function, partitionKeys, orderKeys, hasGlobalLimit, partitionLimit, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 6c809173ca0d45..2d1e2db3cc6eb3 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 LogicalProject withGroupExpression(Optional groupE groupExpression, Optional.of(getLogicalProperties()), child(), isDistinct); } - @Override - public LogicalProject withLogicalProperties(Optional logicalProperties) { - return new LogicalProject<>(projects, excepts, canEliminate, Optional.empty(), logicalProperties, child(), - isDistinct); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 9e3241f072b009..6c4dc30631719b 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 LogicalRepeat withGroupExpression(Optional g Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalRepeat withLogicalProperties(Optional logicalProperties) { - return new LogicalRepeat<>(groupingSets, outputExpressions, Optional.empty(), - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 47a53ee703e937..1b0e51d17b28bb 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalSchemaScan(id, table, qualifier, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalSchemaScan(id, table, qualifier, groupExpression, logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 2444a2fe3f653f..260d29a1ab4fcb 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 LogicalSelectHint(Map hints, CHILD_TYPE child) { this(hints, Optional.empty(), Optional.empty(), child); } - public LogicalSelectHint(Map hints, - Optional 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 LogicalSelectHint withChildren(List children) { @Override public R accept(PlanVisitor visitor, C context) { - return visitor.visitLogicalSelectHint((LogicalSelectHint) this, context); + return visitor.visitLogicalSelectHint(this, context); } @Override @@ -92,14 +87,10 @@ public LogicalSelectHint withGroupExpression(Optional(hints, groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public LogicalSelectHint withLogicalProperties(Optional logicalProperties) { - return new LogicalSelectHint<>(hints, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 569c895df778a7..5918422966fea2 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 LogicalSort withGroupExpression(Optional groupExpr normalized); } - @Override - public LogicalSort withLogicalProperties(Optional logicalProperties) { - return new LogicalSort<>(orderKeys, Optional.empty(), logicalProperties, child(), false); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 fd99c98f4a720e..53bbee0002ab0a 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 LogicalSubQueryAlias withGroupExpression(Optional withLogicalProperties(Optional logicalProperties) { - return new LogicalSubQueryAlias<>(qualifier, columnAliases, Optional.empty(), - logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 1d0fe13179d850..e068048d289f12 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 LogicalTVFRelation withGroupExpression(Optional groupExp return new LogicalTVFRelation(id, function, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public LogicalTVFRelation withLogicalProperties(Optional logicalProperties) { - return new LogicalTVFRelation(id, function, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 3e21c46ab8aa5e..348a70917637cc 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 LogicalTopN withGroupExpression(Optional groupExpr child()); } - @Override - public LogicalTopN withLogicalProperties(Optional logicalProperties) { - return new LogicalTopN<>(orderKeys, limit, offset, Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 68e3bdcb61a524..d74af5a3afc56f 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 LogicalUnion withGroupExpression(Optional groupExpressio Optional.of(getLogicalProperties()), children); } - @Override - public LogicalUnion withLogicalProperties(Optional logicalProperties) { - return new LogicalUnion(qualifier, outputs, constantExprsList, hasPushedFilter, - Optional.empty(), logicalProperties, children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 76b07f7359a3ce..fcfe9906d605e5 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 Plan withGroupExpression(Optional groupExpression) { groupExpression, Optional.of(getLogicalProperties()), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalWindow<>(windowExpressions, isChecked, - Optional.empty(), logicalProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 5ae762dcbd8eb9..dd4ffbe7967374 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 Plan withGroupExpression(Optional groupExpression) { hashJoinConjuncts, groupExpression, Optional.of(getLogicalProperties()), hint, markJoinSlotReference); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new UsingJoin(joinType, child(0), child(1), otherJoinConjuncts, - hashJoinConjuncts, groupExpression, logicalProperties, hint, markJoinSlotReference); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 201ff8c49b7968..cb1d175b39e8ff 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 PhysicalAssertNumRows withGroupExpression(Optional withLogicalProperties(Optional logicalProperties) { - return new PhysicalAssertNumRows<>(assertNumRowsElement, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 4d4dd60e4fca2f..d85a73d1b2b388 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 PhysicalCTEAnchor withGroupExpression(Optional(cteId, groupExpression, getLogicalProperties(), child(0), child(1)); } - @Override - public PhysicalCTEAnchor withLogicalProperties(Optional logicalProperties) { - return new PhysicalCTEAnchor<>(cteId, - Optional.empty(), logicalProperties.get(), child(0), child(1)); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 7e2fcde661ec23..91c0f2a4034a3a 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 PhysicalCTEConsumer withGroupExpression(Optional groupEx groupExpression, getLogicalProperties()); } - @Override - public PhysicalCTEConsumer withLogicalProperties(Optional logicalProperties) { - return new PhysicalCTEConsumer(cteId, consumerToProducerSlotMap, producerToConsumerSlotMap, - Optional.empty(), logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 c63ce08f201840..bf148b17ac4b46 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 PhysicalCTEProducer withGroupExpression(Optional(cteId, projects, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalCTEProducer withLogicalProperties(Optional logicalProperties) { - return new PhysicalCTEProducer<>(cteId, projects, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 d64898dc5c6593..6fc7f0bd44e009 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 PhysicalDistribute withGroupExpression(Optional(distributionSpec, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalDistribute withLogicalProperties(Optional logicalProperties) { - return new PhysicalDistribute<>(distributionSpec, Optional.empty(), - logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 a77a5914deb288..d0865b83b8a995 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 Plan withGroupExpression(Optional groupExpression) { logicalPropertiesSupplier.get(), physicalProperties, statistics); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new PhysicalEmptyRelation(projects, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 eaa9459535a1f3..2dcc0bd0ccd6d8 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 PhysicalEsScan withGroupExpression(Optional groupExpress return new PhysicalEsScan(id, table, qualifier, distributionSpec, groupExpression, getLogicalProperties()); } - @Override - public PhysicalEsScan withLogicalProperties(Optional logicalProperties) { - return new PhysicalEsScan(id, table, qualifier, distributionSpec, groupExpression, logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 2b8587a77a94ee..762d0d6d0371be 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 PhysicalExcept withGroupExpression( return new PhysicalExcept(qualifier, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalExcept withLogicalProperties( - Optional logicalProperties) { - return new PhysicalExcept(qualifier, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 bd829976ee47ba..f9584c0c46d0db 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 PhysicalFileScan withGroupExpression(Optional groupExpre groupExpression, getLogicalProperties(), conjuncts); } - @Override - public PhysicalFileScan withLogicalProperties(Optional logicalProperties) { - return new PhysicalFileScan(id, table, qualifier, distributionSpec, - groupExpression, logicalProperties.get(), conjuncts); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 f4c9403640c09e..c46adff343a38f 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 PhysicalFilter withGroupExpression(Optional return new PhysicalFilter<>(conjuncts, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalFilter withLogicalProperties(Optional logicalProperties) { - return new PhysicalFilter<>(conjuncts, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 e148d5b0fdb2ac..2e7d09d3f9697e 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 PhysicalGenerate withGroupExpression(Optional withLogicalProperties(Optional logicalProperties) { - return new PhysicalGenerate<>(generators, generatorOutput, - Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 2621e061aa3269..01c9065ab31f1a 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 PhysicalHashAggregate withGroupExpression(Optional withLogicalProperties(Optional logicalProperties) { - return new PhysicalHashAggregate<>(groupByExpressions, outputExpressions, partitionExpressions, - aggregateParam, maybeUsingStream, Optional.empty(), logicalProperties.get(), - requireProperties, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 edba3fb717aca1..c8ed9ec8ed863d 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 PhysicalHashJoin withGroupExpression( groupExpression, getLogicalProperties(), left(), right()); } - @Override - public PhysicalHashJoin withLogicalProperties( - Optional logicalProperties) { - return new PhysicalHashJoin<>(joinType, hashJoinConjuncts, otherJoinConjuncts, hint, markJoinSlotReference, - Optional.empty(), logicalProperties.get(), left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 5bf7b43e49d753..3df464e33fd4af 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 PhysicalIntersect withGroupExpression( return new PhysicalIntersect(qualifier, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalIntersect withLogicalProperties( - Optional logicalProperties) { - return new PhysicalIntersect(qualifier, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 31319cff6da0c1..dd98dd745286a8 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 PhysicalJdbcScan withGroupExpression(Optional groupExpre return new PhysicalJdbcScan(id, table, qualifier, distributionSpec, groupExpression, getLogicalProperties()); } - @Override - public PhysicalJdbcScan withLogicalProperties(Optional logicalProperties) { - return new PhysicalJdbcScan(id, table, qualifier, distributionSpec, groupExpression, logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 4aef608d1bcbac..dd4e6388cf8eb0 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 PhysicalLimit withGroupExpression(Optional g return new PhysicalLimit<>(limit, offset, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalLimit withLogicalProperties(Optional logicalProperties) { - return new PhysicalLimit<>(limit, offset, phase, logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 f42cfe09244bb6..5ba9f60a8608e5 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 PhysicalNestedLoopJoin withGroupExpres groupExpression, getLogicalProperties(), left(), right()); } - @Override - public PhysicalNestedLoopJoin withLogicalProperties( - Optional logicalProperties) { - return new PhysicalNestedLoopJoin<>(joinType, - hashJoinConjuncts, otherJoinConjuncts, markJoinSlotReference, Optional.empty(), - logicalProperties.get(), left(), right()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 b7beeb976fe665..87823d9bc7bf09 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 PhysicalOlapScan withGroupExpression(Optional groupExpre groupExpression, getLogicalProperties()); } - @Override - public PhysicalOlapScan withLogicalProperties(Optional logicalProperties) { - return new PhysicalOlapScan(id, olapTable, qualifier, selectedIndexId, selectedTabletIds, - selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, Optional.empty(), - logicalProperties.get()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 40cfc65768deb9..915c1eec705e2f 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 Plan withGroupExpression(Optional groupExpression) { groupExpression, getLogicalProperties(), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new PhysicalOlapTableSink<>(database, targetTable, partitionIds, cols, singleReplicaLoad, - groupExpression, logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 6cc6c3f4d1ec96..00328f739edbe8 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 Plan withGroupExpression(Optional groupExpression) { logicalPropertiesSupplier.get(), physicalProperties, statistics); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new PhysicalOneRowRelation(projects, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 9c0e290ff5735d..a64528ea9f2170 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 PhysicalPartitionTopN withGroupExpression(Optional withLogicalProperties(Optional logicalProperties) { - return new PhysicalPartitionTopN<>(function, partitionKeys, orderKeys, hasGlobalLimit, partitionLimit, - Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 1131056c2df869..6c36045df4f7c0 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 List getExpressions() { @Override public PhysicalProject withChildren(List children) { Preconditions.checkArgument(children.size() == 1); - return new PhysicalProject(projects, + return new PhysicalProject<>(projects, groupExpression, getLogicalProperties(), physicalProperties, @@ -117,14 +117,10 @@ public PhysicalProject withGroupExpression(Optional return new PhysicalProject<>(projects, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalProject withLogicalProperties(Optional logicalProperties) { - return new PhysicalProject<>(projects, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { + Preconditions.checkArgument(children.size() == 1); return new PhysicalProject<>(projects, groupExpression, logicalProperties.get(), children.get(0)); } @@ -142,12 +138,12 @@ public PhysicalProject withPhysicalPropertiesAndStats(PhysicalProper * @return new project */ public PhysicalProject withProjectionsAndChild(List projections, Plan child) { - return new PhysicalProject(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 ea5fa4e7237324..c2ca598ab600aa 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 PhysicalQuickSort withGroupExpression(Optional(orderKeys, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalQuickSort withLogicalProperties(Optional logicalProperties) { - return new PhysicalQuickSort<>(orderKeys, phase, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 cfe423a9f64032..258b99e128458e 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 PhysicalRepeat withGroupExpression(Optional getLogicalProperties(), physicalProperties, statistics, child()); } - @Override - public PhysicalRepeat withLogicalProperties(Optional logicalProperties) { - return new PhysicalRepeat<>(groupingSets, outputExpressions, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics, child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 666a50252c9f71..44e85777c0aaf7 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 Plan withGroupExpression(Optional groupExpression) { statistics); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new PhysicalSchemaScan(id, table, qualifier, groupExpression, logicalProperties.get(), - physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 cc865c9e8727c9..ed57eebcb0adf2 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 PhysicalStorageLayerAggregate withGroupExpression(Optional logicalProperties) { - return new PhysicalStorageLayerAggregate(relation, aggOp, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 776714a6965491..dfe5ad11689d5d 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 PhysicalTVFRelation withGroupExpression(Optional groupEx physicalProperties, statistics); } - @Override - public PhysicalTVFRelation withLogicalProperties(Optional logicalProperties) { - return new PhysicalTVFRelation(id, function, Optional.empty(), - logicalProperties.get(), physicalProperties, statistics); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 461cce9fab538f..559f7f2d0c8e83 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 PhysicalTopN withGroupExpression(Optional gr return new PhysicalTopN<>(orderKeys, limit, offset, phase, groupExpression, getLogicalProperties(), child()); } - @Override - public PhysicalTopN withLogicalProperties(Optional logicalProperties) { - return new PhysicalTopN<>(orderKeys, limit, offset, phase, Optional.empty(), logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 ac6dbe5e3e897b..c44dda6a3ff7ef 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 PhysicalUnion withGroupExpression( return new PhysicalUnion(qualifier, constantExprsList, groupExpression, getLogicalProperties(), children); } - @Override - public PhysicalUnion withLogicalProperties( - Optional logicalProperties) { - return new PhysicalUnion(qualifier, constantExprsList, Optional.empty(), logicalProperties.get(), children); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 bd06792655edee..fe5559940e06e9 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 Plan withGroupExpression(Optional groupExpression) { getLogicalProperties(), child()); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new PhysicalWindow<>(windowFrameGroup, requireProperties, Optional.empty(), - logicalProperties.get(), child()); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 7a8aba1bbedc33..8eb03d5b659940 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 Plan withGroupExpression(Optional groupExpression) { return new LogicalBoundRelation(table, qualifier, groupExpression, Optional.of(getLogicalProperties())); } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return new LogicalBoundRelation(table, qualifier, Optional.empty(), logicalProperties); - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List 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 3fff39d2ded93e..e4c031e4a8142e 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 @@ private LogicalOlapScan constructOlapSCan() { }}; 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 8b928f4215e247..63365901a8ec01 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 void testOlapScan(@Mocked ConnectContext context) { 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 93d3ea6234df25..eb508f53c97d29 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 void testLazyComputeOutput() { } } - @Test - public void testWithOutput() { - LogicalOlapScan relationPlan = PlanConstructor.newLogicalOlapScan(0, "a", 0); - - List 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 Plan withGroupExpression(Optional groupExpression) { return null; } - @Override - public Plan withLogicalProperties(Optional logicalProperties) { - return null; - } - @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) {