This is an automated email from the ASF dual-hosted git repository. yangzhg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new d8cde8c (#6454) Remove useless code for Segment V2 (#6455) d8cde8c is described below commit d8cde8c044162f06bb2d6804359963ab53ca6478 Author: wangbo <506340...@qq.com> AuthorDate: Thu Sep 2 09:59:21 2021 +0800 (#6454) Remove useless code for Segment V2 (#6455) --- be/src/olap/generic_iterators.cpp | 6 ------ be/src/olap/rowset/segment_v2/column_reader.cpp | 18 +++--------------- be/src/olap/rowset/segment_v2/column_reader.h | 11 ++--------- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 1 - 4 files changed, 5 insertions(+), 31 deletions(-) diff --git a/be/src/olap/generic_iterators.cpp b/be/src/olap/generic_iterators.cpp index 8fd8e68..09b5f31 100644 --- a/be/src/olap/generic_iterators.cpp +++ b/be/src/olap/generic_iterators.cpp @@ -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); diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp b/be/src/olap/rowset/segment_v2/column_reader.cpp index bbfba19..4c26e88 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.cpp +++ b/be/src/olap/rowset/segment_v2/column_reader.cpp @@ -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(); } diff --git a/be/src/olap/rowset/segment_v2/column_reader.h b/be/src/olap/rowset/segment_v2/column_reader.h index 6fa1958..0e546f5 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.h +++ b/be/src/olap/rowset/segment_v2/column_reader.h @@ -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 { diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 5e80270..9d33ec3 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -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(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org