Reset row flag in get
This commit is contained in:
@ -774,6 +774,7 @@ int ObEncodeBlockGetReader::locate_row(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
|
row.row_flag_.reset();
|
||||||
if (found) {
|
if (found) {
|
||||||
row.count_ = request_cnt_;
|
row.count_ = request_cnt_;
|
||||||
row.row_flag_.set_flag(ObDmlFlag::DF_INSERT);
|
row.row_flag_.set_flag(ObDmlFlag::DF_INSERT);
|
||||||
@ -1398,6 +1399,7 @@ OB_INLINE int ObMicroBlockDecoder::get_row_impl(int64_t index, ObDatumRow &row)
|
|||||||
} else if (OB_FAIL(decode_cells(index, row_len, row_data, 0, request_cnt_, row.storage_datums_))) {
|
} else if (OB_FAIL(decode_cells(index, row_len, row_data, 0, request_cnt_, row.storage_datums_))) {
|
||||||
LOG_WARN("decode cells failed", K(ret), K(index), K_(request_cnt));
|
LOG_WARN("decode cells failed", K(ret), K(index), K_(request_cnt));
|
||||||
} else {
|
} else {
|
||||||
|
row.row_flag_.reset();
|
||||||
row.row_flag_.set_flag(ObDmlFlag::DF_INSERT);
|
row.row_flag_.set_flag(ObDmlFlag::DF_INSERT);
|
||||||
row.count_ = request_cnt_;
|
row.count_ = request_cnt_;
|
||||||
row.mvcc_row_flag_.reset();
|
row.mvcc_row_flag_.reset();
|
||||||
|
|||||||
@ -166,13 +166,18 @@ int ObRowCacheValue::init(const int64_t start_log_ts,
|
|||||||
const ObDatumRow &row)
|
const ObDatumRow &row)
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
datums_ = row.storage_datums_;
|
if (OB_UNLIKELY(!row.row_flag_.is_valid())) {
|
||||||
column_cnt_ = row.get_column_count();
|
ret = OB_ERR_UNEXPECTED;
|
||||||
start_log_ts_ = start_log_ts;
|
STORAGE_LOG(WARN, "Unexpected row", K(ret), K(row));
|
||||||
flag_ = row.row_flag_;
|
} else {
|
||||||
size_ = sizeof(ObStorageDatum) * column_cnt_;
|
datums_ = row.storage_datums_;
|
||||||
for (int64_t i = 0; OB_SUCC(ret) && i < column_cnt_; i ++) {
|
column_cnt_ = row.get_column_count();
|
||||||
size_ += datums_[i].get_deep_copy_size();
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user