diff --git a/src/storage/lob/ob_lob_manager.cpp b/src/storage/lob/ob_lob_manager.cpp index 1dd09c85ed..0215623040 100644 --- a/src/storage/lob/ob_lob_manager.cpp +++ b/src/storage/lob/ob_lob_manager.cpp @@ -2202,6 +2202,10 @@ int ObLobManager::write_outrow_inner(ObLobAccessParam& param, ObLobQueryIter *it uint64_t padding_size = 0; uint64_t pos = 0; if (old_data.length() == 0) { + if (param.scan_backward_) { + LOG_INFO("param scan_backward is true. Make it be false.", K(param)); + param.scan_backward_ = false; + } if (OB_FAIL(prepare_write_buffers(param, remain_buf, tmp_buf))) { LOG_WARN("fail to prepare buffers", K(ret)); } else if (OB_FAIL(lob_ctx_.lob_meta_mngr_->scan(param, meta_iter))) { diff --git a/src/storage/lob/ob_lob_util.h b/src/storage/lob/ob_lob_util.h index 50d4981740..1389a6cf56 100644 --- a/src/storage/lob/ob_lob_util.h +++ b/src/storage/lob/ob_lob_util.h @@ -52,7 +52,7 @@ struct ObLobAccessParam { public: int set_lob_locator(common::ObLobLocatorV2 *lob_locator); TO_STRING_KV(K_(ls_id), K_(tablet_id), KPC_(lob_locator), KPC_(lob_common), KPC_(lob_data), K_(byte_size), K_(handle_size), - K_(coll_type), K_(offset), K_(len), K_(seq_no_st), K_(used_seq_cnt), K_(total_seq_cnt), K_(checksum), + K_(coll_type), K_(scan_backward), K_(offset), K_(len), K_(seq_no_st), K_(used_seq_cnt), K_(total_seq_cnt), K_(checksum), K_(update_len), K_(op_type), K_(is_fill_zero), K_(from_rpc), K_(snapshot), K_(tx_id), K_(inrow_read_nocopy)); public: transaction::ObTxDesc *tx_desc_; // for write/update/delete