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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]