From b1c7841c201ac9f175b6aebc506bdab72fac9cbc Mon Sep 17 00:00:00 2001 From: HangyuanLiu <460660596@qq.com> Date: Wed, 26 Aug 2020 10:27:50 +0800 Subject: [PATCH] [SQL] Fix TupleIsNull miss in SelectStmt resultExpr (#4279) --- fe/fe-core/src/main/java/org/apache/doris/planner/Planner.java | 2 +- .../main/java/org/apache/doris/planner/SingleNodePlanner.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/Planner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/Planner.java index 427e2a651c..d461a760d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/Planner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/Planner.java @@ -195,7 +195,7 @@ public class Planner { exprs, rootFragment.getPlanRoot().getOutputSmap(), analyzer, true); rootFragment.setOutputExprs(resExprs); } else { - List resExprs = Expr.substituteList(queryStmt.getBaseTblResultExprs(), + List resExprs = Expr.substituteList(queryStmt.getResultExprs(), rootFragment.getPlanRoot().getOutputSmap(), analyzer, false); rootFragment.setOutputExprs(resExprs); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java index c768045b94..345a13173d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java @@ -1036,6 +1036,8 @@ public class SingleNodePlanner { } unionNode.setTblRefIds(Lists.newArrayList(inlineViewRef.getId())); unionNode.addConstExprList(selectStmt.getBaseTblResultExprs()); + //set outputSmap to substitute literal in outputExpr + unionNode.setOutputSmap(inlineViewRef.getSmap()); unionNode.init(analyzer); return unionNode; }