[BUGFIX] fix lob locator helper print row id for last row

This commit is contained in:
obdev
2023-03-10 03:43:59 +00:00
committed by ob-robot
parent 651a35bee4
commit c9177f7439
4 changed files with 8 additions and 4 deletions

View File

@ -640,7 +640,7 @@ enum ObMemLobType
MAX_LOB_TYPE
};
// Memory Locator V2, Common Header, https://yuque.antfin.com/ob/gtuwei/mo6g8w
// Memory Locator V2, Common Header, sz/mo6g8w
// Notice: Do not add or remove fields from this sturct!
// 8 bytes
struct ObMemLobCommon

View File

@ -516,7 +516,7 @@ int ObQueryDriver::process_lob_locator_results(ObObj& value,
int ret = OB_SUCCESS;
// 1. if client is_use_lob_locator, return lob locator
// 2. if client is_use_lob_locator, but not support outrow lob, return lob locator with inrow data
// refer to https://yuque.antfin.com/ob/gtuwei/aibo1m
// refer to sz/aibo1m
// 3. if client does not support use_lob_locator ,,return full lob data without locator header
bool is_lob_type = value.is_lob() || value.is_json() || value.is_geometry() || value.is_lob_locator();
if (!is_lob_type) {

View File

@ -483,7 +483,7 @@ int ObExprOutputPack::process_lob_locator_results(common::ObObj& value,
int ret = OB_SUCCESS;
// 1. if client is_use_lob_locator, return lob locator
// 2. if client is_use_lob_locator, but not support outrow lob, return lob locator with inrow data
// refer to https://yuque.antfin.com/ob/gtuwei/aibo1m
// refer to sz/aibo1m
// 3. if client does not support use_lob_locator ,,return full lob data without locator header
bool is_use_lob_locator = my_session.is_client_use_lob_locator();
bool is_support_outrow_locator_v2 = my_session.is_client_support_lob_locatorv2();

View File

@ -27,7 +27,11 @@ public:
ObLobLocatorHelper();
virtual ~ObLobLocatorHelper();
void reset();
void reuse() { locator_allocator_.reuse(); }
void reuse() {
locator_allocator_.reuse();
rowid_objs_.reuse();
rowkey_str_.reset();
}
int init(const ObTableScanParam &scan_param,
const ObStoreCtx &ctx,
const share::ObLSID &ls_id,