This is an automated email from the ASF dual-hosted git repository. panxiaolei pushed a commit to branch new_join2 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 65258c607e05a620d0543d02d5f6e768621a4c7a Author: BiteTheDDDDt <pxl...@qq.com> AuthorDate: Mon Nov 27 13:23:41 2023 +0800 update fix --- be/src/pipeline/exec/hashjoin_build_sink.cpp | 7 ++++--- be/src/vec/core/block.cpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/be/src/pipeline/exec/hashjoin_build_sink.cpp b/be/src/pipeline/exec/hashjoin_build_sink.cpp index cc32f880570..13d07a1522e 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.cpp +++ b/be/src/pipeline/exec/hashjoin_build_sink.cpp @@ -49,9 +49,7 @@ Status HashJoinBuildSinkLocalState::init(RuntimeState* state, LocalSinkStateInfo _parent->operator_id(), _parent->node_id(), state->get_query_ctx()); auto& p = _parent->cast<HashJoinBuildSinkOperatorX>(); _shared_state->join_op_variants = p._join_op_variants; - if (p._is_broadcast_join && state->enable_share_hash_table_for_broadcast_join()) { - _shared_state->build_block = p._shared_hash_table_context->block; - } + _shared_state->is_null_safe_eq_join = p._is_null_safe_eq_join; _shared_state->store_null_in_hash_table = p._store_null_in_hash_table; _build_expr_ctxs.resize(p._build_expr_ctxs.size()); @@ -513,6 +511,7 @@ Status HashJoinBuildSinkOperatorX::sink(RuntimeState* state, vectorized::Block* _shared_hash_table_context); } _shared_hashtable_controller->signal(node_id()); + _shared_hash_table_context->block = local_state._shared_state->build_block; } } else if (!local_state._should_build_hash_table) { DCHECK(_shared_hashtable_controller != nullptr); @@ -540,6 +539,8 @@ Status HashJoinBuildSinkOperatorX::sink(RuntimeState* state, vectorized::Block* *std::static_pointer_cast<vectorized::HashTableVariants>( _shared_hash_table_context->hash_table_variants)); + local_state._shared_state->build_block = _shared_hash_table_context->block; + if (!_shared_hash_table_context->runtime_filters.empty()) { auto ret = std::visit( Overload { diff --git a/be/src/vec/core/block.cpp b/be/src/vec/core/block.cpp index ae7f9897baf..723dc3ac639 100644 --- a/be/src/vec/core/block.cpp +++ b/be/src/vec/core/block.cpp @@ -265,7 +265,7 @@ void Block::erase(const String& name) { ColumnWithTypeAndName& Block::safe_get_by_position(size_t position) { if (position >= data.size()) { throw Exception(ErrorCode::INTERNAL_ERROR, - "invalid input position, position={}, data.size{}, names={}", position, + "invalid input position, position={}, data.size={}, names={}", position, data.size(), dump_names()); } return data[position]; @@ -274,7 +274,7 @@ ColumnWithTypeAndName& Block::safe_get_by_position(size_t position) { const ColumnWithTypeAndName& Block::safe_get_by_position(size_t position) const { if (position >= data.size()) { throw Exception(ErrorCode::INTERNAL_ERROR, - "invalid input position, position={}, data.size{}, names={}", position, + "invalid input position, position={}, data.size={}, names={}", position, data.size(), dump_names()); } return data[position]; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org