[BUGFIX] fix read lob over 64K from 4.0

This commit is contained in:
obdev
2023-03-28 14:40:59 +00:00
committed by ob-robot
parent d8d5f00849
commit 6a2c35e367
4 changed files with 8 additions and 1 deletions

View File

@ -1048,6 +1048,7 @@ int ObTextStringResult::fill_temp_lob_header(const int64_t res_len)
rowkey_str,
&lob_common,
static_cast<uint32_t>(res_len + sizeof(ObLobCommon)),
0,
false))) {
LOG_WARN("Lob: fill temp lob locator failed", K(type_), K(ret));
} else if (OB_FAIL((locator.set_payload_data(&lob_common, empty_str)))) {

View File

@ -303,6 +303,7 @@ int ObLobLocatorHelper::fuse_mem_lob_header(ObObj &def_obj, uint64_t col_id, boo
rowkey_str_,
&lob_common,
payload_size,
0,
false))) {
STORAGE_LOG(WARN, "Lob: init locator in build_lob_locatorv2", K(ret), K(column_id));
} else if (OB_FAIL(locator.set_payload_data(&lob_common, def_obj.get_string()))) {
@ -500,6 +501,7 @@ int ObLobLocatorHelper::build_lob_locatorv2(ObLobLocatorV2 &locator,
rowid_str,
lob_common,
out_payload_len,
is_dst_inrow ? 0 : payload.length(),
is_simple))) {
STORAGE_LOG(WARN, "Lob: init locator in build_lob_locatorv2", K(ret), K(column_id));
} else if (OB_SUCC(locator.get_mem_locator(mem_lob_common))) {