From 47e47c575b3a0c3fa2d25708bb2d0ca38905d962 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Wed, 6 Sep 2023 11:37:15 +0800 Subject: [PATCH] [pipelineX](join) Fix hash join (#23895) --- be/src/pipeline/pipeline_x/operator.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/be/src/pipeline/pipeline_x/operator.cpp b/be/src/pipeline/pipeline_x/operator.cpp index e48f9b4d27..2dea1eaf77 100644 --- a/be/src/pipeline/pipeline_x/operator.cpp +++ b/be/src/pipeline/pipeline_x/operator.cpp @@ -242,11 +242,13 @@ Status StatefulOperatorX::get_block(RuntimeState* state, vectori } if (!need_more_input_data(state)) { - RETURN_IF_ERROR(pull(state, block, source_state)); - if (source_state != SourceState::FINISHED && !need_more_input_data(state)) { + SourceState new_state = SourceState::DEPEND_ON_SOURCE; + RETURN_IF_ERROR(pull(state, block, new_state)); + if (new_state == SourceState::FINISHED) { + source_state = SourceState::FINISHED; + } else if (!need_more_input_data(state)) { source_state = SourceState::MORE_DATA; - } else if (source_state != SourceState::FINISHED && - source_state == SourceState::MORE_DATA) { + } else if (source_state == SourceState::MORE_DATA) { source_state = local_state._child_source_state; } }