Reset endkey when reuse index scanner

This commit is contained in:
DengzhiLiu
2024-02-09 04:11:59 +00:00
committed by ob-robot
parent 8679372adb
commit 060b25db9a
2 changed files with 3 additions and 1 deletions

View File

@ -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,

View File

@ -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);