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

panxiaolei 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 7913354f78 add column number check for  vsorted_run_merger (#23584)
7913354f78 is described below

commit 7913354f7843c249c9a7879a54c5ca7d53d376fc
Author: Pxl <[email protected]>
AuthorDate: Tue Aug 29 10:41:59 2023 +0800

    add column number check for  vsorted_run_merger (#23584)
---
 be/src/vec/runtime/vsorted_run_merger.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/be/src/vec/runtime/vsorted_run_merger.cpp 
b/be/src/vec/runtime/vsorted_run_merger.cpp
index 5f4b8206c7..1bdd82ba8e 100644
--- a/be/src/vec/runtime/vsorted_run_merger.cpp
+++ b/be/src/vec/runtime/vsorted_run_merger.cpp
@@ -20,6 +20,8 @@
 #include <utility>
 #include <vector>
 
+#include "common/exception.h"
+#include "common/status.h"
 #include "util/runtime_profile.h"
 #include "util/stopwatch.hpp"
 #include "vec/columns/column.h"
@@ -161,6 +163,13 @@ Status VSortedRunMerger::get_next(Block* output_block, 
bool* eos) {
                 VectorizedUtils::build_mutable_mem_reuse_block(output_block, 
_empty_block);
         MutableColumns& merged_columns = m_block.mutable_columns();
 
+        if (num_columns != merged_columns.size()) {
+            throw Exception(
+                    ErrorCode::INTERNAL_ERROR,
+                    "num_columns!=merged_columns.size(), num_columns={}, 
merged_columns.size()={}",
+                    num_columns, merged_columns.size());
+        }
+
         /// Take rows from queue in right order and push to 'merged'.
         size_t merged_rows = 0;
         while (!_priority_queue.empty()) {
@@ -170,8 +179,9 @@ Status VSortedRunMerger::get_next(Block* output_block, 
bool* eos) {
             if (_offset > 0) {
                 _offset--;
             } else {
-                for (size_t i = 0; i < num_columns; ++i)
+                for (size_t i = 0; i < num_columns; ++i) {
                     merged_columns[i]->insert_from(*current->all_columns[i], 
current->pos);
+                }
                 ++merged_rows;
             }
 


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

Reply via email to