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]