From accc9e7fbfa2bad3ec391abdd4db2bdc3eb2a272 Mon Sep 17 00:00:00 2001 From: smellthemoon <64083300+smellthemoon@users.noreply.github.com> Date: Mon, 13 Jan 2025 16:04:58 +0800 Subject: [PATCH] fix: fail to get empty index num rows (#39155) #39125 Signed-off-by: lixinguo Co-authored-by: lixinguo --- internal/core/src/index/ScalarIndexSort.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/core/src/index/ScalarIndexSort.cpp b/internal/core/src/index/ScalarIndexSort.cpp index f53966bf43..e43d35902b 100644 --- a/internal/core/src/index/ScalarIndexSort.cpp +++ b/internal/core/src/index/ScalarIndexSort.cpp @@ -176,9 +176,14 @@ ScalarIndexSort::LoadWithoutAssemble(const BinarySet& index_binary, auto index_data = index_binary.GetByName("index_data"); data_.resize(index_size); auto index_num_rows = index_binary.GetByName("index_num_rows"); - memcpy(&total_num_rows_, - index_num_rows->data.get(), - (size_t)index_num_rows->size); + if (index_num_rows) { + memcpy(&total_num_rows_, + index_num_rows->data.get(), + (size_t)index_num_rows->size); + } else { + total_num_rows_ = index_size; + } + idx_to_offsets_.resize(total_num_rows_); valid_bitset_ = TargetBitmap(total_num_rows_, false); memcpy(data_.data(), index_data->data.get(), (size_t)index_data->size);