[BUGFIX] fix dml update lob core

This commit is contained in:
skylhd 2023-10-17 08:17:00 +00:00 committed by ob-robot
parent 7c82486bfc
commit 1b8ec49f0f

View File

@ -5168,15 +5168,16 @@ int ObLSTabletService::table_refresh_row(
LOG_WARN("get row from single row col count not equal.", K(ret), K(row.get_count()), K(new_row->get_count()));
} else {
LOG_DEBUG("get new row success.", K(row), KPC(new_row));
// only write cells, not write row
// passing fixed double scale from row to new_row
for (int64_t i = 0; OB_SUCC(ret) && i < new_row->get_count(); ++i) {
if (row.cells_[i].is_fixed_double()) {
new_row->cells_[i].set_scale(row.cells_[i].get_scale());
} else if (OB_FAIL(ob_write_obj(run_ctx.lob_allocator_, new_row->cells_[i], row.cells_[i]))) {
LOG_WARN("copy ObObj error", K(ret), K(i), K(new_row->cells_[i]));
}
}
if (OB_FAIL(ob_write_row(run_ctx.lob_allocator_, *new_row, row))) {
LOG_WARN("failed to deep copy new row", K(ret));
} else {
if (OB_SUCC(ret)) {
run_ctx.is_old_row_valid_for_lob_ = true;
}
}