Fix the issue that failed to get default row after DDL.

This commit is contained in:
obdev
2023-02-24 11:41:42 +00:00
committed by ob-robot
parent dbc2a4c9f9
commit d6b24ab0b3

View File

@ -644,7 +644,6 @@ int ObMicroBlockReader::get_rows(
for (int64_t i = 0; OB_SUCC(ret) && i < cols_projector.count(); ++i) { for (int64_t i = 0; OB_SUCC(ret) && i < cols_projector.count(); ++i) {
common::ObDatum &datum = datums.at(i)[idx]; common::ObDatum &datum = datums.at(i)[idx];
int32_t col_idx = cols_projector.at(i); int32_t col_idx = cols_projector.at(i);
bool need_copy = false;
if (col_idx >= read_info_->get_request_count()) { if (col_idx >= read_info_->get_request_count()) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("Unexpected col idx", K(ret), K(i), K(col_idx), K(read_info_->get_request_count())); LOG_WARN("Unexpected col idx", K(ret), K(i), K(col_idx), K(read_info_->get_request_count()));
@ -656,14 +655,17 @@ int ObMicroBlockReader::get_rows(
LOG_WARN("Fail to transfer datum", K(ret), K(i), K(idx), K(row_idx), K(default_row)); LOG_WARN("Fail to transfer datum", K(ret), K(i), K(idx), K(row_idx), K(default_row));
} }
LOG_TRACE("Transfer nop value", K(ret), K(idx), K(row_idx), K(col_idx), K(default_row)); LOG_TRACE("Transfer nop value", K(ret), K(idx), K(row_idx), K(col_idx), K(default_row));
} else if (row_buf.storage_datums_[col_idx].need_copy_for_encoding_column_with_flat_format(map_types.at(i))) { } else {
exprs[i]->reset_ptr_in_datum(eval_ctx, idx); bool need_copy = false;
need_copy = true; if (row_buf.storage_datums_[col_idx].need_copy_for_encoding_column_with_flat_format(map_types.at(i))) {
} exprs[i]->reset_ptr_in_datum(eval_ctx, idx);
if (OB_SUCC(ret) && OB_FAIL(datum.from_storage_datum(row_buf.storage_datums_[col_idx], map_types.at(i), need_copy))) { need_copy = true;
LOG_WARN("Failed to from storage datum", K(ret), K(idx), K(row_idx), K(col_idx), K(need_copy), }
K(row_buf.storage_datums_[col_idx]), KPC_(header)); if (OB_FAIL(datum.from_storage_datum(row_buf.storage_datums_[col_idx], map_types.at(i), need_copy))) {
} LOG_WARN("Failed to from storage datum", K(ret), K(idx), K(row_idx), K(col_idx), K(need_copy),
K(row_buf.storage_datums_[col_idx]), KPC_(header));
}
}
} }
} }
} }