This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 1ebb54afdc3 [fix](null equal) fix coredump of pushing eq_for_null
(#27341)
1ebb54afdc3 is described below
commit 1ebb54afdc331cdef7d02a66212a2f2b69413268
Author: TengJianPing <[email protected]>
AuthorDate: Tue Nov 21 18:36:33 2023 +0800
[fix](null equal) fix coredump of pushing eq_for_null (#27341)
---
be/src/pipeline/exec/scan_operator.cpp | 2 +-
be/src/vec/exec/scan/vscan_node.cpp | 2 +-
regression-test/data/correctness_p0/test_null_equal.out | 3 +++
regression-test/suites/correctness_p0/test_null_equal.groovy | 3 +++
4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/be/src/pipeline/exec/scan_operator.cpp
b/be/src/pipeline/exec/scan_operator.cpp
index 85ccf8620ca..fbbf2e05d7f 100644
--- a/be/src/pipeline/exec/scan_operator.cpp
+++ b/be/src/pipeline/exec/scan_operator.cpp
@@ -945,7 +945,7 @@ Status
ScanLocalState<Derived>::_normalize_noneq_binary_predicate(
DCHECK(expr->children().size() == 2);
auto noneq_checker = [](const std::string& fn_name) {
- return fn_name != "ne" && fn_name != "eq";
+ return fn_name != "ne" && fn_name != "eq" && fn_name !=
"eq_for_null";
};
StringRef value;
int slot_ref_child = -1;
diff --git a/be/src/vec/exec/scan/vscan_node.cpp
b/be/src/vec/exec/scan/vscan_node.cpp
index d711aa43b4a..305bafe10f7 100644
--- a/be/src/vec/exec/scan/vscan_node.cpp
+++ b/be/src/vec/exec/scan/vscan_node.cpp
@@ -970,7 +970,7 @@ Status VScanNode::_normalize_noneq_binary_predicate(VExpr*
expr, VExprContext* e
DCHECK(expr->children().size() == 2);
auto noneq_checker = [](const std::string& fn_name) {
- return fn_name != "ne" && fn_name != "eq";
+ return fn_name != "ne" && fn_name != "eq" && fn_name !=
"eq_for_null";
};
StringRef value;
int slot_ref_child = -1;
diff --git a/regression-test/data/correctness_p0/test_null_equal.out
b/regression-test/data/correctness_p0/test_null_equal.out
index 39d74087270..2c927e4744b 100644
--- a/regression-test/data/correctness_p0/test_null_equal.out
+++ b/regression-test/data/correctness_p0/test_null_equal.out
@@ -194,3 +194,6 @@ false
2 2
3 3
+-- !test7 --
+1
+
diff --git a/regression-test/suites/correctness_p0/test_null_equal.groovy
b/regression-test/suites/correctness_p0/test_null_equal.groovy
index a9c9ea5ca00..653dc59e90f 100644
--- a/regression-test/suites/correctness_p0/test_null_equal.groovy
+++ b/regression-test/suites/correctness_p0/test_null_equal.groovy
@@ -70,5 +70,8 @@ suite("test_null_equal") {
qt_test6 "select * from test_eq_for_null_nullable a,
test_eq_for_null_nullable2 b where a.k1 <=> b.k1 order by 1;"
+ qt_test7 "select * from test_eq_for_null_nullable2 where k1 <=> 1 order by
1;"
+
+
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]