(#6454) Remove useless code for Segment V2 (#6455)

This commit is contained in:
wangbo
2021-09-02 09:59:21 +08:00
committed by GitHub
parent 7a15e583a7
commit d8cde8c044
4 changed files with 5 additions and 31 deletions

View File

@ -143,8 +143,6 @@ public:
// will return a valid row
bool valid() const { return _valid; }
int is_partial_delete() const { return _block.delete_state() == DEL_PARTIAL_SATISFIED; }
uint64_t data_id() const { return _iter->data_id(); }
private:
@ -276,10 +274,6 @@ Status MergeIterator::next_batch(RowBlockV2* block) {
// copy current row to block
copy_row(&dst_row, ctx->current_row(), block->pool());
// TODO(hkp): refactor conditions and filter rows here with delete conditions
if (ctx->is_partial_delete()) {
block->set_delete_state(DEL_PARTIAL_SATISFIED);
}
RETURN_IF_ERROR(ctx->advance());
if (ctx->valid()) {
_merge_heap->push(ctx);

View File

@ -155,13 +155,11 @@ Status ColumnReader::read_page(const ColumnIteratorOptions& iter_opts, const Pag
}
Status ColumnReader::get_row_ranges_by_zone_map(
CondColumn* cond_column, CondColumn* delete_condition,
std::unordered_set<uint32_t>* delete_partial_filtered_pages, RowRanges* row_ranges) {
CondColumn* cond_column, CondColumn* delete_condition, RowRanges* row_ranges) {
RETURN_IF_ERROR(_ensure_index_loaded());
std::vector<uint32_t> page_indexes;
RETURN_IF_ERROR(_get_filtered_pages(cond_column, delete_condition,
delete_partial_filtered_pages, &page_indexes));
RETURN_IF_ERROR(_get_filtered_pages(cond_column, delete_condition, &page_indexes));
RETURN_IF_ERROR(_calculate_row_ranges(page_indexes, row_ranges));
return Status::OK();
}
@ -215,7 +213,6 @@ bool ColumnReader::_zone_map_match_condition(const ZoneMapPB& zone_map,
Status ColumnReader::_get_filtered_pages(
CondColumn* cond_column, CondColumn* delete_condition,
std::unordered_set<uint32_t>* delete_partial_filtered_pages,
std::vector<uint32_t>* page_indexes) {
FieldType type = _type_info->type();
const std::vector<ZoneMapPB>& zone_maps = _zone_map_index->page_zone_maps();
@ -234,8 +231,6 @@ Status ColumnReader::_get_filtered_pages(
int state = delete_condition->del_eval({min_value.get(), max_value.get()});
if (state == DEL_SATISFIED) {
should_read = false;
} else if (state == DEL_PARTIAL_SATISFIED) {
delete_partial_filtered_pages->insert(i);
}
}
if (should_read) {
@ -530,13 +525,6 @@ Status FileColumnIterator::next_batch(size_t* n, ColumnBlockView* dst, bool* has
}
}
auto iter = _delete_partial_satisfied_pages.find(_page->page_index);
bool is_partial = iter != _delete_partial_satisfied_pages.end();
if (is_partial) {
dst->column_block()->set_delete_state(DEL_PARTIAL_SATISFIED);
} else {
dst->column_block()->set_delete_state(DEL_NOT_SATISFIED);
}
// number of rows to be read from this page
size_t nrows_in_page = std::min(remaining, _page->remaining());
size_t nrows_to_read = nrows_in_page;
@ -643,7 +631,7 @@ Status FileColumnIterator::get_row_ranges_by_zone_map(CondColumn* cond_column,
RowRanges* row_ranges) {
if (_reader->has_zone_map()) {
RETURN_IF_ERROR(_reader->get_row_ranges_by_zone_map(
cond_column, delete_condition, &_delete_partial_satisfied_pages, row_ranges));
cond_column, delete_condition, row_ranges));
}
return Status::OK();
}

View File

@ -123,9 +123,7 @@ public:
// get row ranges with zone map
// - cond_column is user's query predicate
// - delete_condition is a delete predicate of one version
Status get_row_ranges_by_zone_map(CondColumn* cond_column, CondColumn* delete_condition,
std::unordered_set<uint32_t>* delete_partial_filtered_pages,
RowRanges* row_ranges);
Status get_row_ranges_by_zone_map(CondColumn* cond_column, CondColumn* delete_condition, RowRanges* row_ranges);
// get row ranges with bloom filter index
Status get_row_ranges_by_bloom_filter(CondColumn* cond_column, RowRanges* row_ranges);
@ -161,9 +159,7 @@ private:
void _parse_zone_map(const ZoneMapPB& zone_map, WrapperField* min_value_container,
WrapperField* max_value_container) const;
Status _get_filtered_pages(CondColumn* cond_column, CondColumn* delete_conditions,
std::unordered_set<uint32_t>* delete_partial_filtered_pages,
std::vector<uint32_t>* page_indexes);
Status _get_filtered_pages(CondColumn* cond_column, CondColumn* delete_conditions, std::vector<uint32_t>* page_indexes);
Status _calculate_row_ranges(const std::vector<uint32_t>& page_indexes, RowRanges* row_ranges);
@ -312,9 +308,6 @@ private:
// current value ordinal
ordinal_t _current_ordinal = 0;
// page indexes those are DEL_PARTIAL_SATISFIED
std::unordered_set<uint32_t> _delete_partial_satisfied_pages;
};
class ArrayFileColumnIterator final : public ColumnIterator {

View File

@ -476,7 +476,6 @@ Status SegmentIterator::_read_columns(const std::vector<ColumnId>& column_ids, R
ColumnBlockView dst(&column_block, row_offset);
size_t rows_read = nrows;
RETURN_IF_ERROR(_column_iterators[cid]->next_batch(&rows_read, &dst));
block->set_delete_state(column_block.delete_state());
DCHECK_EQ(nrows, rows_read);
}
return Status::OK();