This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit f3bdd520ae39c14cb33e592a1825faad1250841d 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]
