Set trans version of ghost row as 0 in get_multi_version_info

This commit is contained in:
DengzhiLiu
2022-12-22 05:07:50 +00:00
committed by ob-robot
parent 6a95e0f7e9
commit a6ae5c21dc
2 changed files with 2 additions and 2 deletions

View File

@ -407,6 +407,7 @@ int ObMicroBlockReader::get_row_count(int64_t &row_count)
return ret;
}
// notice, trans_version of ghost row is min(0)
int ObMicroBlockReader::get_multi_version_info(
const int64_t row_idx,
const int64_t schema_rowkey_cnt,
@ -448,7 +449,7 @@ int ObMicroBlockReader::get_multi_version_info(
} else {
if (!flag.is_uncommitted_row()) { // get trans_version for committed row
sql_sequence = 0;
trans_version = -datum.get_int();
trans_version = flag.is_ghost_row() ? 0 : -datum.get_int();
} else {
// get sql_sequence for uncommitted row
trans_version = INT64_MAX;

View File

@ -59,7 +59,6 @@ int ObMicroBlockRowLockChecker::get_next_row(const ObDatumRow *&row)
sql_sequence))) {
LOG_WARN("failed to get multi version info", K(ret), K_(current), K(flag), K(trans_id),
KPC_(lock_state), K(sql_sequence), K_(macro_id));
// TODO(handora.qc): fix it
} else if (OB_FAIL(lock_state_->trans_version_.convert_for_tx(trans_version))) {
LOG_ERROR("convert failed", K(ret), K(trans_version));
} else if (flag.is_uncommitted_row()) {