From 605cea820f953137101cc1c6c9f6925178856ad0 Mon Sep 17 00:00:00 2001 From: amorynan Date: Fri, 27 Oct 2023 11:39:11 +0800 Subject: [PATCH] fix upgrade for predict column delete collection type will make core --- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 5 +++-- be/src/olap/schema.cpp | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 88786b8b8e7cb0..bbacb8137b11b1 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -1821,8 +1821,9 @@ Status SegmentIterator::_next_batch_internal(vectorized::Block* block) { auto cid = _schema->column_id(i); auto column_desc = _schema->column(cid); if (_is_pred_column[cid]) { - _current_return_columns[cid] = - Schema::get_predicate_column_ptr(*column_desc, _opts.io_ctx.reader_type); + RETURN_IF_CATCH_EXCEPTION(_current_return_columns[cid] = + Schema::get_predicate_column_ptr( + *column_desc, _opts.io_ctx.reader_type)); _current_return_columns[cid]->set_rowset_segment_id( {_segment->rowset_id(), _segment->id()}); _current_return_columns[cid]->reserve(_opts.block_row_max); diff --git a/be/src/olap/schema.cpp b/be/src/olap/schema.cpp index e55b1dcf2aa1c1..6a2c775a642737 100644 --- a/be/src/olap/schema.cpp +++ b/be/src/olap/schema.cpp @@ -203,7 +203,9 @@ vectorized::IColumn::MutablePtr Schema::get_predicate_column_ptr(const Field& fi ptr = doris::vectorized::PredicateColumnType::create(); break; default: - LOG(FATAL) << "Unexpected type when choosing predicate column, type=" << int(field.type()); + throw Exception(ErrorCode::SCHEMA_SCHEMA_FIELD_INVALID, + fmt::format("Unexpected type when choosing predicate column, type={}", + int(field.type()))); } if (field.is_nullable()) {