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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]