[CP] reuse datum row before get row in different micro block
This commit is contained in:
parent
19c84854fc
commit
ad8f509b1b
@ -1080,6 +1080,7 @@ int ObIndexBlockTreeCursor::read_next_level_row(const int64_t row_idx)
|
||||
LOG_WARN("Fail to init index row parser with transformed index data",
|
||||
K(ret), K(row_idx), KPC(idx_data_header));
|
||||
}
|
||||
} else if (FALSE_IT(row_.reuse())) {
|
||||
} else if (OB_FAIL(reader_->get_row(row_idx, row_))) {
|
||||
LOG_WARN("Fail to read row", K(ret), K(row_idx));
|
||||
} else if (OB_FAIL(idx_row_parser_.init(rowkey_column_cnt_, row_))) {
|
||||
@ -1168,6 +1169,7 @@ int ObIndexBlockTreeCursor::get_micro_block_endkeys(
|
||||
} else {
|
||||
for (int64_t i = begin_idx; OB_SUCC(ret) && i <= end_idx; ++i) {
|
||||
ObDatumRowkey rowkey, endkey;
|
||||
row_.reuse();
|
||||
if (OB_FAIL(reader_->get_row(i, row_))) {
|
||||
LOG_WARN("Fail to get row from micro block", K(ret), K(i));
|
||||
} else if (OB_FAIL(rowkey.assign(row_.storage_datums_, rowkey_column_cnt_))) {
|
||||
|
@ -425,6 +425,7 @@ int ObMacroBlockRowBareIterator::open(
|
||||
int ObMacroBlockRowBareIterator::get_next_row(const ObDatumRow *&row)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
row_.reuse();
|
||||
if (IS_NOT_INIT) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("Iterator not inited", K(ret));
|
||||
|
@ -165,6 +165,7 @@ int ObMicroBlockBufferHelper::check_micro_block_checksum(
|
||||
} else {
|
||||
int64_t new_checksum = 0;
|
||||
for (int64_t it = 0; OB_SUCC(ret) && it != micro_reader->row_count(); ++it) {
|
||||
check_datum_row_.reuse();
|
||||
if (OB_FAIL(micro_reader->get_row(it, check_datum_row_))) {
|
||||
STORAGE_LOG(WARN, "get_row failed", K(ret), K(it), K(*data_store_desc_));
|
||||
} else {
|
||||
@ -216,6 +217,7 @@ void ObMicroBlockBufferHelper::print_micro_block_row(ObIMicroBlockReader *micro_
|
||||
} else {
|
||||
int64_t new_checksum = 0;
|
||||
for (int64_t it = 0; OB_SUCC(ret) && it != micro_reader->row_count(); ++it) {
|
||||
check_datum_row_.reuse();
|
||||
if (OB_FAIL(micro_reader->get_row(it, check_datum_row_))) {
|
||||
STORAGE_LOG(WARN, "get_row failed", K(ret), K(it), K(*data_store_desc_));
|
||||
} else {
|
||||
|
@ -206,6 +206,7 @@ int ObSSTableSecMetaIterator::get_next(ObDataMacroBlockMeta ¯o_meta)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
MacroBlockId macro_id;
|
||||
row_.reuse();
|
||||
if (IS_NOT_INIT) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("Secondary meta iterator not inited", K(ret));
|
||||
|
Loading…
x
Reference in New Issue
Block a user