Reset row flag in get

This commit is contained in:
DengzhiLiu
2023-02-15 11:42:01 +00:00
committed by ob-robot
parent 30eb581ae8
commit 719e871b92
2 changed files with 14 additions and 7 deletions

View File

@ -166,13 +166,18 @@ int ObRowCacheValue::init(const int64_t start_log_ts,
const ObDatumRow &row)
{
int ret = OB_SUCCESS;
datums_ = row.storage_datums_;
column_cnt_ = row.get_column_count();
start_log_ts_ = start_log_ts;
flag_ = row.row_flag_;
size_ = sizeof(ObStorageDatum) * column_cnt_;
for (int64_t i = 0; OB_SUCC(ret) && i < column_cnt_; i ++) {
size_ += datums_[i].get_deep_copy_size();
if (OB_UNLIKELY(!row.row_flag_.is_valid())) {
ret = OB_ERR_UNEXPECTED;
STORAGE_LOG(WARN, "Unexpected row", K(ret), K(row));
} else {
datums_ = row.storage_datums_;
column_cnt_ = row.get_column_count();
start_log_ts_ = start_log_ts;
flag_ = row.row_flag_;
size_ = sizeof(ObStorageDatum) * column_cnt_;
for (int64_t i = 0; OB_SUCC(ret) && i < column_cnt_; i ++) {
size_ += datums_[i].get_deep_copy_size();
}
}
return ret;
}