You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by da...@apache.org on 2022/10/23 00:13:39 UTC

[doris] branch branch-1.1-lts updated: [fix](outerjoin)fall back to no-vec outer join correctly (#13582)

This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch branch-1.1-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.1-lts by this push:
     new c45bb49da7 [fix](outerjoin)fall back to no-vec outer join correctly (#13582)
c45bb49da7 is described below

commit c45bb49da725fb1bbfbb3542afba05890e0578d9
Author: starocean999 <40...@users.noreply.github.com>
AuthorDate: Sun Oct 23 08:13:33 2022 +0800

    [fix](outerjoin)fall back to no-vec outer join correctly (#13582)
---
 .../src/main/java/org/apache/doris/analysis/Analyzer.java   | 13 +++++++++++--
 .../src/main/java/org/apache/doris/analysis/SelectStmt.java |  5 +----
 2 files changed, 12 insertions(+), 6 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 d73525847b..5a17a68731 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
@@ -35,6 +35,7 @@ import org.apache.doris.common.IdGenerator;
 import org.apache.doris.common.Pair;
 import org.apache.doris.common.VecNotImplException;
 import org.apache.doris.common.util.TimeUtils;
+import org.apache.doris.common.util.VectorizedUtil;
 import org.apache.doris.planner.PlanNode;
 import org.apache.doris.planner.RuntimeFilter;
 import org.apache.doris.qe.ConnectContext;
@@ -2228,13 +2229,21 @@ public class Analyzer {
     public void changeAllOuterJoinTupleToNull() throws VecNotImplException {
         for (TupleId tid : globalState.outerJoinedTupleIds.keySet()) {
             for (SlotDescriptor slotDescriptor : getTupleDesc(tid).getSlots()) {
-                changeSlotToNull(slotDescriptor);
+                if (VectorizedUtil.isVectorized()) {
+                    changeSlotToNull(slotDescriptor);
+                } else {
+                    slotDescriptor.setIsNullable(true);
+                }
             }
         }
 
         for (TupleId tid : globalState.outerJoinedMaterializedTupleIds) {
             for (SlotDescriptor slotDescriptor : getTupleDesc(tid).getSlots()) {
-                changeSlotToNull(slotDescriptor);
+                if (VectorizedUtil.isVectorized()) {
+                    changeSlotToNull(slotDescriptor);
+                } else {
+                    slotDescriptor.setIsNullable(true);
+                }
             }
         }
     }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
index 7de001a808..4e98276954 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
@@ -37,7 +37,6 @@ import org.apache.doris.common.TableAliasGenerator;
 import org.apache.doris.common.TreeNode;
 import org.apache.doris.common.UserException;
 import org.apache.doris.common.util.SqlUtils;
-import org.apache.doris.common.util.VectorizedUtil;
 import org.apache.doris.mysql.privilege.PrivPredicate;
 import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.rewrite.ExprRewriter;
@@ -522,9 +521,7 @@ public class SelectStmt extends QueryStmt {
         // Change all outer join tuple to null here after analyze where and from clause
         // all solt desc of join tuple is ready. Before analyze sort info/agg info/analytic info
         // the solt desc nullable mark must be corrected to make sure BE exec query right.
-        if (VectorizedUtil.isVectorized()) {
-            analyzer.changeAllOuterJoinTupleToNull();
-        }
+        analyzer.changeAllOuterJoinTupleToNull();
 
         createSortInfo(analyzer);
         if (sortInfo != null && CollectionUtils.isNotEmpty(sortInfo.getOrderingExprs())) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org