From 2ae037578e8c56019324f8a5ef1f56a345827cbe Mon Sep 17 00:00:00 2001 From: BiteTheDDDDt Date: Sat, 21 Dec 2024 13:51:32 +0800 Subject: [PATCH] upd --- .../exec/join/process_hash_table_probe_impl.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/be/src/pipeline/exec/join/process_hash_table_probe_impl.h b/be/src/pipeline/exec/join/process_hash_table_probe_impl.h index 232fad32b1d5fae..c06752962f72bcd 100644 --- a/be/src/pipeline/exec/join/process_hash_table_probe_impl.h +++ b/be/src/pipeline/exec/join/process_hash_table_probe_impl.h @@ -385,30 +385,21 @@ Status ProcessHashTableProbe::do_mark_join_conjuncts(vectorized::Blo uint8_t* mark_filter_data = nullptr; uint8_t* mark_null_map = nullptr; - if constexpr (is_null_aware_join) { + if (is_null_aware_join) { // For null aware anti/semi join, if the equal conjuncts was not matched and the build side has null value, // the result should be null. Like: // select 4 not in (2, 3, null) => null, select 4 not in (2, 3) => true // select 4 in (2, 3, null) => null, select 4 in (2, 3) => false - const bool should_be_null_if_build_side_has_null = *_has_null_in_build_side; - mark_column.resize(row_count); mark_filter_data = filter.data(); mark_null_map = mark_column.get_null_map_data().data(); - int last_probe_matched = -1; for (size_t i = 0; i != row_count; ++i) { mark_filter_data[i] = _build_indexs[i] != 0; if constexpr (with_other_conjuncts) { mark_null_map[i] = _null_flags[i]; } else { - if (mark_filter_data[i]) { - last_probe_matched = _probe_indexs[i]; - mark_null_map[i] = false; - } else { - mark_null_map[i] = (should_be_null_if_build_side_has_null && - last_probe_matched != _probe_indexs[i]); - } + mark_null_map[i] = false; } }