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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]