From 18c83c6466da7031678f647d99a3ec070b227364 Mon Sep 17 00:00:00 2001 From: zhagnlu <1542303831@qq.com> Date: Sat, 13 Jul 2024 13:07:37 +0800 Subject: [PATCH] fix: fix auto merge error (#34661) #33704 Signed-off-by: luzhang Co-authored-by: luzhang --- internal/core/src/mmap/Column.h | 8 -------- internal/core/src/mmap/Utils.h | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/internal/core/src/mmap/Column.h b/internal/core/src/mmap/Column.h index 64e46b7cfc..1db073ff37 100644 --- a/internal/core/src/mmap/Column.h +++ b/internal/core/src/mmap/Column.h @@ -477,14 +477,6 @@ class SparseFloatColumn : public ColumnBase { return static_cast(static_cast(vec_.data())); } - // This is used to advice mmap prefetch, we don't currently support mmap for - // sparse float vector thus not implemented for now. - size_t - ByteSize() const override { - PanicInfo(ErrorCode::Unsupported, - "ByteSize not supported for sparse float column"); - } - size_t Capacity() const override { PanicInfo(ErrorCode::Unsupported, diff --git a/internal/core/src/mmap/Utils.h b/internal/core/src/mmap/Utils.h index f63f65ff7a..3cab2c3166 100644 --- a/internal/core/src/mmap/Utils.h +++ b/internal/core/src/mmap/Utils.h @@ -48,7 +48,7 @@ namespace milvus { constexpr size_t FILE_STRING_PADDING = 1; constexpr size_t FILE_ARRAY_PADDING = 1; -inline size_t +inline size_t PaddingSize(const DataType& type) { switch (type) { case DataType::JSON: @@ -148,11 +148,18 @@ WriteFieldData(File& file, break; } case DataType::VECTOR_SPARSE_FLOAT: { - // TODO(SPARSE): this is for mmap to write data to disk so that - // the file can be mmaped into memory. - PanicInfo( - ErrorCode::NotImplemented, - "WriteFieldData for VECTOR_SPARSE_FLOAT not implemented"); + for (size_t i = 0; i < data->get_num_rows(); ++i) { + auto vec = + static_cast*>( + data->RawValue(i)); + ssize_t written = + file.Write(vec->data(), vec->data_byte_size()); + if (written < vec->data_byte_size()) { + break; + } + total_written += written; + } + break; } default: PanicInfo(DataTypeInvalid,