This is an automated email from the ASF dual-hosted git repository. morrysnow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 996b4cb9ac5 [fix](Nereids) update and delete may produce exprs with same exprid (#29656) 996b4cb9ac5 is described below commit 996b4cb9ac5904847e33273ae55374121508f533 Author: morrySnow <101034200+morrys...@users.noreply.github.com> AuthorDate: Mon Jan 8 15:22:37 2024 +0800 [fix](Nereids) update and delete may produce exprs with same exprid (#29656) --- .../trees/plans/commands/DeleteFromUsingCommand.java | 4 ++-- .../nereids/trees/plans/commands/UpdateCommand.java | 6 +++--- .../trees/plans/DeleteFromUsingCommandTest.java | 20 +++++++++----------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java index b8ac38939a8..6fe57d6361d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java @@ -19,10 +19,10 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.OlapTable; +import org.apache.doris.nereids.analyzer.UnboundAlias; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.exceptions.AnalysisException; -import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.literal.TinyIntLiteral; import org.apache.doris.nereids.trees.plans.Explainable; @@ -91,7 +91,7 @@ public class DeleteFromUsingCommand extends Command implements ForwardWithSync, String tableName = tableAlias != null ? tableAlias : targetTable.getName(); for (Column column : targetTable.getFullSchema()) { if (column.getName().equalsIgnoreCase(Column.DELETE_SIGN)) { - selectLists.add(new Alias(new TinyIntLiteral(((byte) 1)), Column.DELETE_SIGN)); + selectLists.add(new UnboundAlias(new TinyIntLiteral(((byte) 1)), Column.DELETE_SIGN)); } else if (column.getName().equalsIgnoreCase(Column.SEQUENCE_COL)) { selectLists.add(new UnboundSlot(tableName, targetTable.getSequenceMapCol())); } else if (column.isKey()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java index 0410143d0cf..6949b124e5d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java @@ -22,11 +22,11 @@ import org.apache.doris.catalog.KeysType; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; +import org.apache.doris.nereids.analyzer.UnboundAlias; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.parser.NereidsParser; -import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.EqualTo; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.NamedExpression; @@ -117,13 +117,13 @@ public class UpdateCommand extends Command implements ForwardWithSync, Explainab Expression expr = colNameToExpression.get(column.getName()); selectItems.add(expr instanceof UnboundSlot ? ((NamedExpression) expr) - : new Alias(expr)); + : new UnboundAlias(expr)); } else { if (column.hasOnUpdateDefaultValue()) { Expression defualtValueExpression = new NereidsParser().parseExpression(column.getOnUpdateDefaultValueExpr() .toSqlWithoutTbl()); - selectItems.add(new Alias(defualtValueExpression, column.getName())); + selectItems.add(new UnboundAlias(defualtValueExpression, column.getName())); } else { selectItems.add(new UnboundSlot(tableName, column.getName())); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/DeleteFromUsingCommandTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/DeleteFromUsingCommandTest.java index 913d357f7b8..1faeb529aee 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/DeleteFromUsingCommandTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/DeleteFromUsingCommandTest.java @@ -83,17 +83,15 @@ public class DeleteFromUsingCommandTest extends TestWithFeService implements Pla logicalOlapTableSink( logicalProject( logicalJoin( - logicalProject( - logicalJoin( - logicalProject( - logicalFilter( - logicalOlapScan() - ) - ), - logicalProject( - logicalFilter( - logicalOlapScan() - ) + logicalJoin( + logicalProject( + logicalFilter( + logicalOlapScan() + ) + ), + logicalProject( + logicalFilter( + logicalOlapScan() ) ) ), --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org