diff --git a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp index 8a6ce0c298f5dccccb838149a6f3c9d99c283bfa..49dfd073304b6886913428d45449b6959c1f14a9 100644 --- a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp +++ b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp @@ -459,10 +459,8 @@ InsertTask::OnExecute() { std::to_string(table_info.dimension_); return SetError(error_code, error_msg); } - //TODO: use memcpy - for (size_t j = 0; j < table_info.dimension_; j++) { - vec_f[i * table_info.dimension_ + j] = insert_param_.row_record_array(i).vector_data(j); - } + memcpy(static_cast(&vec_f[i * table_info.dimension_]), static_cast(insert_param_.row_record_array(i).vector_data().data()), + table_info.dimension_ * sizeof(float)); } rc.ElapseFromBegin("prepare vectors data");