github-actions[bot] commented on code in PR #64108:
URL: https://github.com/apache/doris/pull/64108#discussion_r3354177970
##########
be/src/vec/common/hash_table/join_hash_table.h:
##########
@@ -211,7 +211,8 @@ class JoinHashTable {
/// If the probe key is null
if (build_idx == bucket_size) {
- probe_idx++;
+ build_idx = 0;
+ picking_null_keys = false;
Review Comment:
This loses the sentinel that the caller relies on for nullable probe keys.
In `do_process`, the special path that preserves a null probe key is only
entered when `build_index == hash_table_ctx.hash_table->get_bucket_size()`; by
resetting `build_idx` to 0 here, `current_offset` remains 0 and `probe_idx` is
returned unchanged. That means the caller emits an empty block and does not
advance past this probe row, so a nullable probe row in a null-aware join with
other conjuncts can be dropped or cause repeated empty output instead of being
processed by `_process_probe_null_key`. Please keep enough state for the caller
to recognize the null-probe-key case while also avoiding the incorrect
decrement at the end of this function.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]