From a4df1f374f36b6313edc08d0ae8d14c77cf5335b Mon Sep 17 00:00:00 2001 From: wu-xingying <729224612@qq.com> Date: Wed, 10 Jul 2024 10:31:36 +0000 Subject: [PATCH] result refresh && assign iter offset --- deps/oblib/src/lib/geo/ob_geo_bin_iter.ipp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deps/oblib/src/lib/geo/ob_geo_bin_iter.ipp b/deps/oblib/src/lib/geo/ob_geo_bin_iter.ipp index 9175c3c75..a6f7372bd 100644 --- a/deps/oblib/src/lib/geo/ob_geo_bin_iter.ipp +++ b/deps/oblib/src/lib/geo/ob_geo_bin_iter.ipp @@ -89,11 +89,15 @@ typename ObWkbConstIterator::self ObWkbConstIterator::operator--(int template const typename ObWkbConstIterator::self& ObWkbConstIterator::operator=(const self& iter) { + int ret = OB_SUCCESS; idx_ = iter.idx_; owner_ = iter.owner_; diff_info_ = iter.diff_info_; - // TODO: do vector copy? - offsets_ = iter.offsets_; + // if fail to allocate memory, return the original iterator. + // offsets_ is used for cache iter, won't affect correctness. + if (OB_FAIL(offsets_.assign(iter.offsets_))) { + COMMON_LOG(WARN, "fail to allocate memory", K(ret), K(iter.offsets_.count())); + } return iter; }