From 32260c4d0860e74bb8d840dc887a8f9a93e4ea8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E5=87=AF?= Date: Sun, 18 Feb 2024 22:23:34 +0800 Subject: [PATCH 1/3] [Fix](inverted index) fix inverted index read data opt not work on MOW --- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 4c659e92df81a6..8c633c71d5cdc8 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -1088,10 +1088,6 @@ Status SegmentIterator::_apply_inverted_index_on_block_column_predicate( } bool SegmentIterator::_need_read_data(ColumnId cid) { - // for safety reason, only support DUP_KEYS - if (_opts.tablet_schema->keys_type() != KeysType::DUP_KEYS) { - return true; - } if (_output_columns.count(-1)) { // if _output_columns contains -1, it means that the light // weight schema change may not be enabled or other reasons From 25e979b7959fc6887419d6e2fac7365c4f1255d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E5=87=AF?= Date: Mon, 19 Feb 2024 18:22:15 +0800 Subject: [PATCH 2/3] fix delete --- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index 8c633c71d5cdc8..ef1711070bbe9b 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -1088,6 +1088,9 @@ Status SegmentIterator::_apply_inverted_index_on_block_column_predicate( } bool SegmentIterator::_need_read_data(ColumnId cid) { + if (!_opts.delete_condition_predicates.empty()) { + return true; + } if (_output_columns.count(-1)) { // if _output_columns contains -1, it means that the light // weight schema change may not be enabled or other reasons From c7cf48b2d0f9a3ae7ef01b33f89d908c876305d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E5=87=AF?= Date: Mon, 19 Feb 2024 18:30:36 +0800 Subject: [PATCH 3/3] fix delete --- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index ef1711070bbe9b..7d5bf3dee6dae8 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -1088,7 +1088,8 @@ Status SegmentIterator::_apply_inverted_index_on_block_column_predicate( } bool SegmentIterator::_need_read_data(ColumnId cid) { - if (!_opts.delete_condition_predicates.empty()) { + // if there is delete predicate, we always need to read data + if (_opts.delete_condition_predicates->num_of_column_predicate() > 0) { return true; } if (_output_columns.count(-1)) {