From 060b25db9a34f01d863a4e3be145552020997468 Mon Sep 17 00:00:00 2001 From: DengzhiLiu Date: Fri, 9 Feb 2024 04:11:59 +0000 Subject: [PATCH] Reset endkey when reuse index scanner --- .../blocksstable/index_block/ob_index_block_row_scanner.cpp | 2 ++ .../blocksstable/index_block/ob_index_block_row_scanner.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/storage/blocksstable/index_block/ob_index_block_row_scanner.cpp b/src/storage/blocksstable/index_block/ob_index_block_row_scanner.cpp index 003a33276d..1a4e202efa 100644 --- a/src/storage/blocksstable/index_block/ob_index_block_row_scanner.cpp +++ b/src/storage/blocksstable/index_block/ob_index_block_row_scanner.cpp @@ -389,6 +389,7 @@ void ObRAWIndexBlockRowIterator::reset() } micro_reader_helper_.reset(); allocator_ = nullptr; + endkey_.reset(); } void ObRAWIndexBlockRowIterator::reuse() @@ -397,6 +398,7 @@ void ObRAWIndexBlockRowIterator::reuse() start_ = ObIMicroBlockReaderInfo::INVALID_ROW_INDEX; end_ = ObIMicroBlockReaderInfo::INVALID_ROW_INDEX; idx_row_parser_.reset(); + endkey_.reset(); } int ObRAWIndexBlockRowIterator::init(const ObMicroBlockData &idx_block_data, diff --git a/src/storage/blocksstable/index_block/ob_index_block_row_scanner.h b/src/storage/blocksstable/index_block/ob_index_block_row_scanner.h index 6246f264b3..819e94dc08 100644 --- a/src/storage/blocksstable/index_block/ob_index_block_row_scanner.h +++ b/src/storage/blocksstable/index_block/ob_index_block_row_scanner.h @@ -235,7 +235,7 @@ public: virtual void reset() override; virtual void reuse() override; INHERIT_TO_STRING_KV("base iterator:", ObIndexBlockRowIterator, "format:", "ObRAWIndexBlockRowIterator", - K(current_), K(start_), K(end_), KP(micro_reader_), K(endkey_), KPC(datum_row_), KP(allocator_)); + K(current_), K(start_), K(end_), KP(micro_reader_), K(endkey_), KP_(datum_row), KP_(allocator)); private: int init_datum_row(const ObStorageDatumUtils &datum_utils, ObIAllocator *allocator); bool is_in_border(bool is_reverse_scan, bool is_left_border, bool is_right_border);