fix direct load no tx desc
This commit is contained in:
@ -1178,8 +1178,7 @@ int ObLobManager::init_out_row_ctx(
|
|||||||
if (nullptr != param.tx_desc_) {
|
if (nullptr != param.tx_desc_) {
|
||||||
param.seq_no_st_ = param.tx_desc_->get_and_inc_tx_seq(param.parent_seq_no_.get_branch(), N);
|
param.seq_no_st_ = param.tx_desc_->get_and_inc_tx_seq(param.parent_seq_no_.get_branch(), N);
|
||||||
} else {
|
} else {
|
||||||
int tmp_seq = ObSequence::get_and_inc_max_seq_no(N);
|
// do nothing, for direct load has no tx desc, do not use seq no
|
||||||
param.seq_no_st_ = transaction::ObTxSEQ::mk_v0(tmp_seq);
|
|
||||||
}
|
}
|
||||||
param.used_seq_cnt_ = 0;
|
param.used_seq_cnt_ = 0;
|
||||||
param.total_seq_cnt_ = N;
|
param.total_seq_cnt_ = N;
|
||||||
|
|||||||
@ -861,6 +861,8 @@ int ObLobMetaWriteIter::get_next_row(ObLobMetaWriteResult &row)
|
|||||||
ObLobCommon *lob_common = reinterpret_cast<ObLobCommon*>(lob_common_);
|
ObLobCommon *lob_common = reinterpret_cast<ObLobCommon*>(lob_common_);
|
||||||
ObLobData *lob_data = reinterpret_cast<ObLobData*>(lob_common->buffer_);
|
ObLobData *lob_data = reinterpret_cast<ObLobData*>(lob_common->buffer_);
|
||||||
lob_data->byte_size_ += row.info_.byte_len_;
|
lob_data->byte_size_ += row.info_.byte_len_;
|
||||||
|
// FIXME @haozheng direct load has no tx desc info, therefore do not need modified outrow ctx here
|
||||||
|
// maybe later we should need to update outrow ctx here for cdc
|
||||||
// refresh char len
|
// refresh char len
|
||||||
char *ptr = reinterpret_cast<char*>(lob_common_);
|
char *ptr = reinterpret_cast<char*>(lob_common_);
|
||||||
int64_t *len = reinterpret_cast<int64_t*>(ptr + ObLobManager::LOB_WITH_OUTROW_CTX_SIZE);
|
int64_t *len = reinterpret_cast<int64_t*>(ptr + ObLobManager::LOB_WITH_OUTROW_CTX_SIZE);
|
||||||
|
|||||||
Reference in New Issue
Block a user