From f51fa999160c40a46e5838f25e1373f6d96c813c Mon Sep 17 00:00:00 2001 From: hanr881 <1741282579@qq.com> Date: Mon, 18 Dec 2023 23:12:55 +0000 Subject: [PATCH] [CP] [CP] to issue<53759597>:fix assoc array memory shrink cause 4016 issue --- src/pl/ob_pl_user_type.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pl/ob_pl_user_type.cpp b/src/pl/ob_pl_user_type.cpp index a94e881081..39ae365823 100644 --- a/src/pl/ob_pl_user_type.cpp +++ b/src/pl/ob_pl_user_type.cpp @@ -3570,10 +3570,20 @@ int ObPLCollection::deep_copy(ObPLCollection *src, ObIAllocator *allocator, bool } else if (ignore_del_element && !is_associative_array()) { set_first(1); set_last(k); +#ifdef OB_BUILD_ORACLE_PL + } else if (PL_ASSOCIATIVE_ARRAY_TYPE == src->get_type()) { + set_first(static_cast(src)->get_first()); + set_last(static_cast(src)->get_last()); +#endif } else { set_first(src->get_first()); set_last(src->get_last()); } +#ifdef OB_BUILD_ORACLE_PL + } else if (PL_ASSOCIATIVE_ARRAY_TYPE == src->get_type()) { + set_first(static_cast(src)->get_first()); + set_last(static_cast(src)->get_last()); +#endif } else { set_first(src->get_first()); set_last(src->get_last());