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

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


The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
     new 3620e4cc1e [fix](join) fix wrong result of null aware left anti join 
(#17750)
3620e4cc1e is described below

commit 3620e4cc1e604b942256940f76181f6cc6349fc4
Author: TengJianPing <18241664+jackte...@users.noreply.github.com>
AuthorDate: Mon Mar 13 23:28:13 2023 +0800

    [fix](join) fix wrong result of null aware left anti join (#17750)
    
    When enable shared hash table for broadcast, if null value of probe side 
appears in fragment instance that DID NOT build hash table,
    `_probe_ignore_null` is not set to true and null value of probe side is 
treated as normal data, which result in wrong result. (regression test case 
test_null_aware_left_anti_join.groovy)
---
 be/src/vec/exec/join/vhash_join_node.cpp                          | 2 +-
 fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/be/src/vec/exec/join/vhash_join_node.cpp 
b/be/src/vec/exec/join/vhash_join_node.cpp
index e7ff1f474e..587b1d65b9 100644
--- a/be/src/vec/exec/join/vhash_join_node.cpp
+++ b/be/src/vec/exec/join/vhash_join_node.cpp
@@ -783,7 +783,7 @@ Status HashJoinNode::_materialize_build_side(RuntimeState* 
state) {
     }
     // Since the comparison of null values is meaningless, null aware left 
anti join should not output null
     // when the build side is not empty.
-    if (eos && !_build_blocks->empty() && _join_op == 
TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) {
+    if (!_build_blocks->empty() && _join_op == 
TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) {
         _probe_ignore_null = true;
     }
     return Status::OK();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index cb07e4d6e8..0a58ffb537 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -661,7 +661,7 @@ public class SessionVariable implements Serializable, 
Writable {
     @VariableMgr.VarAttr(name = PARTITIONED_HASH_JOIN_ROWS_THRESHOLD, fuzzy = 
true)
     public int partitionedHashJoinRowsThreshold = 0;
 
-    @VariableMgr.VarAttr(name = ENABLE_SHARE_HASH_TABLE_FOR_BROADCAST_JOIN)
+    @VariableMgr.VarAttr(name = ENABLE_SHARE_HASH_TABLE_FOR_BROADCAST_JOIN, 
fuzzy = true)
     public boolean enableShareHashTableForBroadcastJoin = true;
 
     @VariableMgr.VarAttr(name = GROUP_CONCAT_MAX_LEN)


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

Reply via email to