Set trans version of ghost row as 0 in get_multi_version_info
This commit is contained in:
@ -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;
|
||||
|
@ -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()) {
|
||||
|
Reference in New Issue
Block a user