This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch dev-1.1.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/dev-1.1.1 by this push: new 8220d145fd [bugfix] fix coredump of left anti join (#10961) 8220d145fd is described below commit 8220d145fd007306967d9ae1bff4b35dcec2ffbe Author: TengJianPing <18241664+jackte...@users.noreply.github.com> AuthorDate: Mon Jul 18 13:43:06 2022 +0800 [bugfix] fix coredump of left anti join (#10961) Merge fix of #10591 to branch dev-1.1.1. --- be/src/vec/exec/join/vhash_join_node.cpp | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/be/src/vec/exec/join/vhash_join_node.cpp b/be/src/vec/exec/join/vhash_join_node.cpp index 72af7c29b3..422b77b801 100644 --- a/be/src/vec/exec/join/vhash_join_node.cpp +++ b/be/src/vec/exec/join/vhash_join_node.cpp @@ -225,16 +225,27 @@ struct ProcessHashTableProbe { _build_block_rows[j]); } } else { - auto column = _build_blocks[_build_block_offsets[j]] - .get_by_position(i) - .column; - if (mcol[i + column_offset]->is_nullable() xor - column->is_nullable()) { - DCHECK(mcol[i + column_offset]->is_nullable() && - !column->is_nullable()); - column = make_nullable(column); + if (_build_block_offsets[j] == -1) { + // the only case to reach here: + // 1. left anti join with other conjuncts, and + // 2. equal conjuncts does not match + // since nullptr is emplaced back to visited_map, + // the output value of the build side does not matter, + // just insert default value + mcol[i + column_offset]->insert_default(); + } else { + auto column = _build_blocks[_build_block_offsets[j]] + .get_by_position(i) + .column; + if (mcol[i + column_offset]->is_nullable() xor + column->is_nullable()) { + DCHECK(mcol[i + column_offset]->is_nullable() && + !column->is_nullable()); + column = make_nullable(column); + } + mcol[i + column_offset]->insert_from(*column, + _build_block_rows[j]); } - mcol[i + column_offset]->insert_from(*column, _build_block_rows[j]); } } } else { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org