[BUGFIX] fix dml update lob core
This commit is contained in:
parent
7c82486bfc
commit
1b8ec49f0f
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user