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 2c80cef34d87e838bb8dddf507972d00d22f0290 Author: starocean999 <40539150+starocean...@users.noreply.github.com> AuthorDate: Tue Oct 17 19:14:13 2023 +0800 [fix](planner) mark join slot should always be nullable (#25433) --- fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java | 5 ++++- fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java index 37a1fa0c539..4648da86abd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java @@ -982,7 +982,10 @@ public class Analyzer { newTblName == null ? "table list" : newTblName.toString()); } - Column col = d.getTable() == null ? new Column(colName, ScalarType.BOOLEAN) : d.getTable().getColumn(colName); + Column col = (d.getTable() == null) + ? new Column(colName, ScalarType.BOOLEAN, + globalState.markTuples.get(d.getAlias()) != null) + : d.getTable().getColumn(colName); if (col == null) { ErrorReport.reportAnalysisException(ErrorCode.ERR_BAD_FIELD_ERROR, colName, newTblName == null ? d.getTable().getName() : newTblName.toString()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java index 6e3ec2b50c8..d80328683dd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java @@ -529,7 +529,7 @@ public class StmtRewriter { String slotName = stmt.getColumnAliasGenerator().getNextAlias(); markSlot.setType(ScalarType.BOOLEAN); markSlot.setIsMaterialized(true); - markSlot.setIsNullable(false); + markSlot.setIsNullable(true); markSlot.setColumn(new Column(slotName, ScalarType.BOOLEAN)); SlotRef markRef = new SlotRef(markSlot); markRef.setTblName(new TableName(null, null, markTuple.getAlias())); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org