This is an automated email from the ASF dual-hosted git repository.

gabriellee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 1018f8918cb [pipelineX](bug) Fix build side output flag (#26233)
1018f8918cb is described below

commit 1018f8918cbf4a4d11fd622dc981c4d573b2df9f
Author: Gabriel <[email protected]>
AuthorDate: Wed Nov 1 20:13:41 2023 +0800

    [pipelineX](bug) Fix build side output flag (#26233)
---
 be/src/pipeline/exec/hashjoin_probe_operator.cpp | 10 ++++------
 be/src/pipeline/pipeline_x/operator.cpp          |  8 +++++---
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/be/src/pipeline/exec/hashjoin_probe_operator.cpp 
b/be/src/pipeline/exec/hashjoin_probe_operator.cpp
index 67b36efcbfd..b459d8eddd7 100644
--- a/be/src/pipeline/exec/hashjoin_probe_operator.cpp
+++ b/be/src/pipeline/exec/hashjoin_probe_operator.cpp
@@ -537,20 +537,18 @@ Status HashJoinProbeOperatorX::init(const TPlanNode& 
tnode, RuntimeState* state)
         DCHECK(_have_other_join_conjunct);
     }
 
-    std::vector<SlotId> hash_output_slot_ids;
     // init left/right output slots flags, only column of slot_id in 
_hash_output_slot_ids need
     // insert to output block of hash join.
     // _left_output_slots_flags : column of left table need to output set flag 
= true
     // _rgiht_output_slots_flags : column of right table need to output set 
flag = true
     // if _hash_output_slot_ids is empty, means all column of left/right table 
need to output.
-    auto init_output_slots_flags = [&hash_output_slot_ids](auto& tuple_descs,
-                                                           auto& 
output_slot_flags) {
+    auto init_output_slots_flags = [&](auto& tuple_descs, auto& 
output_slot_flags) {
         for (const auto& tuple_desc : tuple_descs) {
             for (const auto& slot_desc : tuple_desc->slots()) {
                 output_slot_flags.emplace_back(
-                        hash_output_slot_ids.empty() ||
-                        std::find(hash_output_slot_ids.begin(), 
hash_output_slot_ids.end(),
-                                  slot_desc->id()) != 
hash_output_slot_ids.end());
+                        _hash_output_slot_ids.empty() ||
+                        std::find(_hash_output_slot_ids.begin(), 
_hash_output_slot_ids.end(),
+                                  slot_desc->id()) != 
_hash_output_slot_ids.end());
             }
         }
     };
diff --git a/be/src/pipeline/pipeline_x/operator.cpp 
b/be/src/pipeline/pipeline_x/operator.cpp
index c1dab07390d..8a9910514fc 100644
--- a/be/src/pipeline/pipeline_x/operator.cpp
+++ b/be/src/pipeline/pipeline_x/operator.cpp
@@ -229,9 +229,11 @@ void 
PipelineXLocalStateBase::reached_limit(vectorized::Block* block, SourceStat
         source_state = SourceState::FINISHED;
     }
 
-    _num_rows_returned += block->rows();
-    COUNTER_UPDATE(_blocks_returned_counter, 1);
-    COUNTER_SET(_rows_returned_counter, _num_rows_returned);
+    if (auto rows = block->rows()) {
+        _num_rows_returned += rows;
+        COUNTER_UPDATE(_blocks_returned_counter, 1);
+        COUNTER_SET(_rows_returned_counter, _num_rows_returned);
+    }
 }
 
 std::string DataSinkOperatorXBase::debug_string(int indentation_level) const {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to