This is an automated email from the ASF dual-hosted git repository. dataroaring 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 b6dd43bb9d6 [fix](load) return error instead of panic when slot and expr do not (#27423) b6dd43bb9d6 is described below commit b6dd43bb9d63b2399396a02de9fec19b1295dcb5 Author: Yongqiang YANG <98214048+dataroar...@users.noreply.github.com> AuthorDate: Sun Nov 26 18:53:37 2023 +0800 [fix](load) return error instead of panic when slot and expr do not (#27423) --- be/src/vec/sink/writer/vtablet_writer.cpp | 10 ++++++++++ be/src/vec/sink/writer/vtablet_writer_v2.cpp | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/be/src/vec/sink/writer/vtablet_writer.cpp b/be/src/vec/sink/writer/vtablet_writer.cpp index 1639703d986..c85e5520287 100644 --- a/be/src/vec/sink/writer/vtablet_writer.cpp +++ b/be/src/vec/sink/writer/vtablet_writer.cpp @@ -1145,6 +1145,16 @@ Status VTabletWriter::_init(RuntimeState* state, RuntimeProfile* profile) { return Status::InternalError("unknown destination tuple descriptor"); } + if (_vec_output_expr_ctxs.size() > 0 && + _output_tuple_desc->slots().size() != _vec_output_expr_ctxs.size()) { + LOG(WARNING) << "output tuple slot num should be equal to num of output exprs, " + << "output_tuple_slot_num " << _output_tuple_desc->slots().size() + << " output_expr_num " << _vec_output_expr_ctxs.size(); + return Status::InvalidArgument( + "output_tuple_slot_num {} should be equal to output_expr_num {}", + _output_tuple_desc->slots().size(), _vec_output_expr_ctxs.size()); + } + _block_convertor = std::make_unique<OlapTableBlockConvertor>(_output_tuple_desc); _block_convertor->init_autoinc_info(_schema->db_id(), _schema->table_id(), _state->batch_size()); diff --git a/be/src/vec/sink/writer/vtablet_writer_v2.cpp b/be/src/vec/sink/writer/vtablet_writer_v2.cpp index e5b6cc9642a..33bca6a9401 100644 --- a/be/src/vec/sink/writer/vtablet_writer_v2.cpp +++ b/be/src/vec/sink/writer/vtablet_writer_v2.cpp @@ -201,6 +201,16 @@ Status VTabletWriterV2::_init(RuntimeState* state, RuntimeProfile* profile) { return Status::InternalError("unknown destination tuple descriptor, id = {}", _tuple_desc_id); } + if (_vec_output_expr_ctxs.size() > 0 && + _output_tuple_desc->slots().size() != _vec_output_expr_ctxs.size()) { + LOG(WARNING) << "output tuple slot num should be equal to num of output exprs, " + << "output_tuple_slot_num " << _output_tuple_desc->slots().size() + << " output_expr_num " << _vec_output_expr_ctxs.size(); + return Status::InvalidArgument( + "output_tuple_slot_num {} should be equal to output_expr_num {}", + _output_tuple_desc->slots().size(), _vec_output_expr_ctxs.size()); + } + _block_convertor = std::make_unique<OlapTableBlockConvertor>(_output_tuple_desc); _block_convertor->init_autoinc_info(_schema->db_id(), _schema->table_id(), _state->batch_size()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org