[fix](Nereids) should not generate same exprId for diff column when sink (#30501)

This commit is contained in:
morrySnow
2024-01-29 18:51:49 +08:00
committed by yiguolei
parent 0f81d2d533
commit 15c625dcbc

View File

@ -213,7 +213,14 @@ public class BindSink implements AnalysisRuleFactory {
+ " target table " + table.getName());
}
if (columnToOutput.get(seqCol.get().getName()) != null) {
columnToOutput.put(column.getName(), columnToOutput.get(seqCol.get().getName()));
// should generate diff exprId for seq column
NamedExpression seqColumn = columnToOutput.get(seqCol.get().getName());
if (seqColumn instanceof Alias) {
seqColumn = new Alias(((Alias) seqColumn).child(), column.getName());
} else {
seqColumn = new Alias(seqColumn, column.getName());
}
columnToOutput.put(column.getName(), seqColumn);
}
} else if (isPartialUpdate) {
// If the current load is a partial update, the values of unmentioned