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