[Bug](vec compaction) fix compaction core with sequence column (#10845)
Block reader ignores sequence column but rowset writer should write this column, will core in set_source_column row_num DCHECK. Sequence column works across rowsets, so compaction can not discard it and should keeps it altime. Co-authored-by: yixiutt <yixiu@selectdb.com>
This commit is contained in:
@ -106,8 +106,14 @@ void BlockReader::_init_agg_state(const ReaderParams& read_params) {
|
||||
Status BlockReader::init(const ReaderParams& read_params) {
|
||||
TabletReader::init(read_params);
|
||||
|
||||
auto return_column_size =
|
||||
read_params.origin_return_columns->size() - (_sequence_col_idx != -1 ? 1 : 0);
|
||||
int32_t return_column_size = 0;
|
||||
// read sequence column if not reader_query
|
||||
if (read_params.reader_type != ReaderType::READER_QUERY) {
|
||||
return_column_size = read_params.origin_return_columns->size();
|
||||
} else {
|
||||
return_column_size =
|
||||
read_params.origin_return_columns->size() - (_sequence_col_idx != -1 ? 1 : 0);
|
||||
}
|
||||
_return_columns_loc.resize(read_params.return_columns.size());
|
||||
for (int i = 0; i < return_column_size; ++i) {
|
||||
auto cid = read_params.origin_return_columns->at(i);
|
||||
|
||||
Reference in New Issue
Block a user