[CP] fix enumset memleak bug in query range module

This commit is contained in:
Larry955 2023-04-21 08:11:20 +00:00 committed by ob-robot
parent 7cd24b01e6
commit 94a76034c8

View File

@ -745,6 +745,7 @@ InParamMeta* ObInKeyPart::create_param_meta(ObIAllocator &alloc)
if (OB_NOT_NULL(ptr = alloc.alloc(sizeof(InParamMeta)))) {
new_param = new(ptr) InParamMeta();
new_param->vals_.set_block_allocator(ModulePageAllocator(alloc));
new_param->pos_.enum_set_values_.set_block_allocator(ModulePageAllocator(alloc));
}
return new_param;
}
@ -905,6 +906,7 @@ int ObKeyPartPos::set_enum_set_values(common::ObIAllocator &allocator,
{
int ret = OB_SUCCESS;
ObString value;
enum_set_values_.set_block_allocator(ModulePageAllocator(allocator));
for (int64_t i = 0; OB_SUCC(ret) && i < enum_set_values.count(); ++i) {
value.reset();
if (OB_FAIL(ob_write_string(allocator, enum_set_values.at(i), value))) {