diff --git a/be/src/vec/sink/writer/vtablet_writer.cpp b/be/src/vec/sink/writer/vtablet_writer.cpp index 1639703d98699f2..c85e55202873e39 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(_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 e5b6cc9642a242f..33bca6a9401518e 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(_output_tuple_desc); _block_convertor->init_autoinc_info(_schema->db_id(), _schema->table_id(), _state->batch_size());