From f7351e748231750363074856d8186e0e81a54d97 Mon Sep 17 00:00:00 2001 From: Peng Gao Date: Wed, 22 Apr 2020 11:46:54 +0800 Subject: [PATCH 01/49] Delete CommandDto class and remove file CmdDto.hpp Signed-off-by: Peng Gao --- core/src/server/web_impl/dto/CmdDto.hpp | 33 ------------------------- 1 file changed, 33 deletions(-) delete mode 100644 core/src/server/web_impl/dto/CmdDto.hpp diff --git a/core/src/server/web_impl/dto/CmdDto.hpp b/core/src/server/web_impl/dto/CmdDto.hpp deleted file mode 100644 index 9923c5ccb0..0000000000 --- a/core/src/server/web_impl/dto/CmdDto.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (C) 2019-2020 Zilliz. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software distributed under the License -// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -// or implied. See the License for the specific language governing permissions and limitations under the License. - -#pragma once - -#include "server/web_impl/dto/Dto.h" - -namespace milvus { -namespace server { -namespace web { - -#include OATPP_CODEGEN_BEGIN(DTO) - -class CommandDto: public oatpp::data::mapping::type::Object { - - DTO_INIT(CommandDto, Object) - - DTO_FIELD(String, reply, "reply"); -}; - -#include OATPP_CODEGEN_END(DTO) - -} // namespace web -} // namespace server -} // namespace milvus \ No newline at end of file From ff9697b184c0339786148a11b9dcad5b1c860872 Mon Sep 17 00:00:00 2001 From: yukun Date: Wed, 22 Apr 2020 14:12:46 +0800 Subject: [PATCH 02/49] Change input format for attributes (#1990) * Change input of attributes Signed-off-by: fishpenguin * Fix unittest for new attrs format Signed-off-by: fishpenguin * Fix float type for new format Signed-off-by: fishpenguin * Use new HEntity Signed-off-by: fishpenguin * Add sdk_hybrid Signed-off-by: fishpenguin * Add metric_type assign in CreateHybridCollection Signed-off-by: fishpenguin * Fix for clang-format Signed-off-by: fishpenguin * Read engine_type from extra_params Signed-off-by: fishpenguin * Remove todo annotation Signed-off-by: fishpenguin * Remove some comments Signed-off-by: fishpenguin * Add DescribeHybridCollection request Signed-off-by: fishpenguin * Remove unused code Signed-off-by: fishpenguin --- .../src/codecs/default/DefaultAttrsFormat.cpp | 68 +- core/src/codecs/default/DefaultAttrsFormat.h | 5 +- core/src/db/DB.h | 3 +- core/src/db/DBImpl.cpp | 136 ++-- core/src/db/DBImpl.h | 3 +- core/src/db/Types.h | 1 + core/src/db/engine/ExecutionEngineImpl.cpp | 69 +- core/src/grpc/gen-milvus/milvus.pb.cc | 622 ++++++++++-------- core/src/grpc/gen-milvus/milvus.pb.h | 267 ++++---- core/src/grpc/milvus.proto | 12 +- core/src/query/GeneralQuery.h | 2 +- core/src/server/delivery/RequestHandler.cpp | 8 +- core/src/server/delivery/RequestHandler.h | 5 +- .../CreateHybridCollectionRequest.cpp | 16 +- .../DescribeHybridCollectionRequest.cpp | 71 ++ .../DescribeHybridCollectionRequest.h | 45 ++ .../hybrid_request/InsertEntityRequest.cpp | 64 +- .../hybrid_request/InsertEntityRequest.h | 12 +- .../server/grpc_impl/GrpcRequestHandler.cpp | 42 +- core/unittest/db/test_hybrid_db.cpp | 57 +- core/unittest/server/test_rpc.cpp | 23 +- sdk/examples/CMakeLists.txt | 1 + sdk/examples/hybrid/CMakeLists.txt | 27 + sdk/examples/hybrid/main.cpp | 73 ++ sdk/examples/hybrid/src/ClientTest.cpp | 153 +++++ sdk/examples/hybrid/src/ClientTest.h | 46 ++ sdk/examples/simple/main.cpp | 3 +- sdk/examples/simple/src/ClientTest.cpp | 90 --- sdk/examples/simple/src/ClientTest.h | 14 - sdk/examples/utils/Utils.cpp | 13 +- sdk/grpc-gen/gen-milvus/milvus.pb.cc | 622 ++++++++++-------- sdk/grpc-gen/gen-milvus/milvus.pb.h | 267 ++++---- sdk/grpc/ClientProxy.cpp | 94 +-- sdk/include/GeneralQuery.h | 2 +- sdk/include/MilvusApi.h | 5 +- 35 files changed, 1766 insertions(+), 1175 deletions(-) create mode 100644 core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.cpp create mode 100644 core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.h create mode 100644 sdk/examples/hybrid/CMakeLists.txt create mode 100644 sdk/examples/hybrid/main.cpp create mode 100644 sdk/examples/hybrid/src/ClientTest.cpp create mode 100644 sdk/examples/hybrid/src/ClientTest.h diff --git a/core/src/codecs/default/DefaultAttrsFormat.cpp b/core/src/codecs/default/DefaultAttrsFormat.cpp index fe8937a859..0a784b64a5 100644 --- a/core/src/codecs/default/DefaultAttrsFormat.cpp +++ b/core/src/codecs/default/DefaultAttrsFormat.cpp @@ -32,76 +32,43 @@ namespace milvus { namespace codec { void -DefaultAttrsFormat::read_attrs_internal(const std::string& file_path, off_t offset, size_t num, - std::vector& raw_attrs, size_t& nbytes) { - int ra_fd = open(file_path.c_str(), O_RDONLY, 00664); - if (ra_fd == -1) { +DefaultAttrsFormat::read_attrs_internal(const storage::FSHandlerPtr& fs_ptr, const std::string& file_path, off_t offset, + size_t num, std::vector& raw_attrs, size_t& nbytes) { + if (!fs_ptr->reader_ptr_->open(file_path.c_str())) { std::string err_msg = "Failed to open file: " + file_path + ", error: " + std::strerror(errno); LOG_ENGINE_ERROR_ << err_msg; throw Exception(SERVER_CANNOT_CREATE_FILE, err_msg); } - size_t num_bytes; - if (::read(ra_fd, &num_bytes, sizeof(size_t)) == -1) { - std::string err_msg = "Failed to read from file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->read(&nbytes, sizeof(size_t)); - num = std::min(num, num_bytes - offset); + num = std::min(num, nbytes - offset); offset += sizeof(size_t); - int off = lseek(ra_fd, offset, SEEK_SET); - if (off == -1) { - std::string err_msg = "Failed to seek file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->seekg(offset); raw_attrs.resize(num / sizeof(uint8_t)); - if (::read(ra_fd, raw_attrs.data(), num) == -1) { - std::string err_msg = "Failed to read from file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->read(raw_attrs.data(), num); - nbytes = num; - - if (::close(ra_fd) == -1) { - std::string err_msg = "Failed to close file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->close(); } void -DefaultAttrsFormat::read_uids_internal(const std::string& file_path, std::vector& uids) { - int uid_fd = open(file_path.c_str(), O_RDONLY, 00664); - if (uid_fd == -1) { +DefaultAttrsFormat::read_uids_internal(const storage::FSHandlerPtr& fs_ptr, const std::string& file_path, + std::vector& uids) { + if (!fs_ptr->reader_ptr_->open(file_path.c_str())) { std::string err_msg = "Failed to open file: " + file_path + ", error: " + std::strerror(errno); LOG_ENGINE_ERROR_ << err_msg; throw Exception(SERVER_CANNOT_CREATE_FILE, err_msg); } size_t num_bytes; - if (::read(uid_fd, &num_bytes, sizeof(size_t)) == -1) { - std::string err_msg = "Failed to read from file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->read(&num_bytes, sizeof(size_t)); uids.resize(num_bytes / sizeof(int64_t)); - if (::read(uid_fd, uids.data(), num_bytes) == -1) { - std::string err_msg = "Failed to read from file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->read(uids.data(), num_bytes); - if (::close(uid_fd) == -1) { - std::string err_msg = "Failed to close file: " + file_path + ", error: " + std::strerror(errno); - LOG_ENGINE_ERROR_ << err_msg; - throw Exception(SERVER_WRITE_ERROR, err_msg); - } + fs_ptr->reader_ptr_->read(uids.data(), num_bytes); } void @@ -123,7 +90,7 @@ DefaultAttrsFormat::read(const milvus::storage::FSHandlerPtr& fs_ptr, milvus::se for (; uid_it != it_end; ++uid_it) { const auto& path = uid_it->path(); if (path.extension().string() == user_id_extension_) { - read_uids_internal(path.string(), uids); + read_uids_internal(fs_ptr, path.string(), uids); break; } } @@ -134,10 +101,9 @@ DefaultAttrsFormat::read(const milvus::storage::FSHandlerPtr& fs_ptr, milvus::se if (path.extension().string() == raw_attr_extension_) { auto file_name = path.filename().string(); auto field_name = file_name.substr(0, file_name.size() - 3); - // void* attr_list; std::vector attr_list; size_t nbytes; - read_attrs_internal(path.string(), 0, INT64_MAX, attr_list, nbytes); + read_attrs_internal(fs_ptr, path.string(), 0, INT64_MAX, attr_list, nbytes); milvus::segment::AttrPtr attr = std::make_shared(attr_list, nbytes, uids, field_name); attrs_read->attrs.insert(std::pair(field_name, attr)); @@ -238,7 +204,7 @@ DefaultAttrsFormat::read_uids(const milvus::storage::FSHandlerPtr& fs_ptr, std:: for (; it != it_end; ++it) { const auto& path = it->path(); if (path.extension().string() == user_id_extension_) { - read_uids_internal(path.string(), uids); + read_uids_internal(fs_ptr, path.string(), uids); } } } diff --git a/core/src/codecs/default/DefaultAttrsFormat.h b/core/src/codecs/default/DefaultAttrsFormat.h index 40b8418238..9d59e53e02 100644 --- a/core/src/codecs/default/DefaultAttrsFormat.h +++ b/core/src/codecs/default/DefaultAttrsFormat.h @@ -51,10 +51,11 @@ class DefaultAttrsFormat : public AttrsFormat { private: void - read_attrs_internal(const std::string&, off_t, size_t, std::vector&, size_t&); + read_attrs_internal(const storage::FSHandlerPtr& fs_ptr, const std::string&, off_t, size_t, std::vector&, + size_t&); void - read_uids_internal(const std::string&, std::vector&); + read_uids_internal(const storage::FSHandlerPtr& fs_ptr, const std::string&, std::vector&); private: std::mutex mutex_; diff --git a/core/src/db/DB.h b/core/src/db/DB.h index ce51f33962..5532a3ac43 100644 --- a/core/src/db/DB.h +++ b/core/src/db/DB.h @@ -153,7 +153,8 @@ class DB { DescribeHybridCollection(meta::CollectionSchema& collection_schema, meta::hybrid::FieldsSchema& fields_schema) = 0; virtual Status - InsertEntities(const std::string& collection_id, const std::string& partition_tag, Entity& entity, + InsertEntities(const std::string& collection_id, const std::string& partition_tag, + const std::vector& field_names, Entity& entity, std::unordered_map& field_types) = 0; virtual Status diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index 4fe8981e25..5a2d527a7c 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -586,7 +586,8 @@ DBImpl::InsertVectors(const std::string& collection_id, const std::string& parti } Status -DBImpl::InsertEntities(const std::string& collection_id, const std::string& partition_tag, Entity& entity, +DBImpl::InsertEntities(const std::string& collection_id, const std::string& partition_tag, + const std::vector& field_names, Entity& entity, std::unordered_map& attr_types) { if (!initialized_.load(std::memory_order_acquire)) { return SHUTDOWN_ERROR; @@ -621,106 +622,113 @@ DBImpl::InsertEntities(const std::string& collection_id, const std::string& part // record.length = entities.vector_data_[0].binary_data_.size() * sizeof(uint8_t); } - auto attr_data_it = entity.attr_data_.begin(); - for (; attr_data_it != entity.attr_data_.end(); ++attr_data_it) { - switch (attr_types.at(attr_data_it->first)) { + uint64_t offset = 0; + for (auto field_name : field_names) { + switch (attr_types.at(field_name)) { case meta::hybrid::DataType::INT8: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atoi(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(int8_t)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(int8_t)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(int8_t))); - record.attr_data_size.insert( - std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(int8_t))); + std::vector attr_value(entity.entity_count_, 0); + memcpy(attr_value.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(int64_t)); + offset += entity.entity_count_ * sizeof(int64_t); + + std::vector raw_value(entity.entity_count_, 0); + for (uint64_t i = 0; i < entity.entity_count_; ++i) { + raw_value[i] = attr_value[i]; + } + + memcpy(data.data(), raw_value.data(), entity.entity_count_ * sizeof(int8_t)); + record.attr_data.insert(std::make_pair(field_name, data)); + + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(int8_t))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(int8_t))); break; } case meta::hybrid::DataType::INT16: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atoi(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(int16_t)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(int16_t)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(int16_t))); - record.attr_data_size.insert( - std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(int16_t))); + std::vector attr_value(entity.entity_count_, 0); + memcpy(attr_value.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(int64_t)); + offset += entity.entity_count_ * sizeof(int64_t); + + std::vector raw_value(entity.entity_count_, 0); + for (uint64_t i = 0; i < entity.entity_count_; ++i) { + raw_value[i] = attr_value[i]; + } + + memcpy(data.data(), raw_value.data(), entity.entity_count_ * sizeof(int16_t)); + record.attr_data.insert(std::make_pair(field_name, data)); + + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(int16_t))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(int16_t))); break; } case meta::hybrid::DataType::INT32: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atoi(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(int32_t)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(int32_t)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(int32_t))); - record.attr_data_size.insert( - std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(int32_t))); + std::vector attr_value(entity.entity_count_, 0); + memcpy(attr_value.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(int64_t)); + offset += entity.entity_count_ * sizeof(int64_t); + + std::vector raw_value(entity.entity_count_, 0); + for (uint64_t i = 0; i < entity.entity_count_; ++i) { + raw_value[i] = attr_value[i]; + } + + memcpy(data.data(), raw_value.data(), entity.entity_count_ * sizeof(int32_t)); + record.attr_data.insert(std::make_pair(field_name, data)); + + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(int32_t))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(int32_t))); break; } case meta::hybrid::DataType::INT64: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atoi(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(int64_t)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(int64_t)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); - - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(int64_t))); - record.attr_data_size.insert( - std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(int64_t))); + memcpy(data.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(int64_t)); + record.attr_data.insert(std::make_pair(field_name, data)); + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(int64_t))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(int64_t))); + offset += entity.entity_count_ * sizeof(int64_t); break; } case meta::hybrid::DataType::FLOAT: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atof(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(float)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(float)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(float))); - record.attr_data_size.insert(std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(float))); + std::vector attr_value(entity.entity_count_, 0); + memcpy(attr_value.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(double)); + offset += entity.entity_count_ * sizeof(double); + std::vector raw_value(entity.entity_count_, 0); + for (uint64_t i = 0; i < entity.entity_count_; ++i) { + raw_value[i] = attr_value[i]; + } + + memcpy(data.data(), raw_value.data(), entity.entity_count_ * sizeof(float)); + record.attr_data.insert(std::make_pair(field_name, data)); + + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(float))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(float))); break; } case meta::hybrid::DataType::DOUBLE: { - std::vector entity_data; - entity_data.resize(entity.entity_count_); - for (uint64_t j = 0; j < entity.entity_count_; ++j) { - entity_data[j] = atof(attr_data_it->second[j].c_str()); - } std::vector data; data.resize(entity.entity_count_ * sizeof(double)); - memcpy(data.data(), entity_data.data(), entity.entity_count_ * sizeof(double)); - record.attr_data.insert(std::make_pair(attr_data_it->first, data)); + memcpy(data.data(), entity.attr_value_.data() + offset, entity.entity_count_ * sizeof(double)); + record.attr_data.insert(std::make_pair(field_name, data)); - record.attr_nbytes.insert(std::make_pair(attr_data_it->first, sizeof(double))); - record.attr_data_size.insert( - std::make_pair(attr_data_it->first, entity.entity_count_ * sizeof(double))); + record.attr_nbytes.insert(std::make_pair(field_name, sizeof(double))); + record.attr_data_size.insert(std::make_pair(field_name, entity.entity_count_ * sizeof(double))); + offset += entity.entity_count_ * sizeof(double); break; } + default: + break; } } diff --git a/core/src/db/DBImpl.h b/core/src/db/DBImpl.h index c68e8977b6..f7e9523be0 100644 --- a/core/src/db/DBImpl.h +++ b/core/src/db/DBImpl.h @@ -144,7 +144,8 @@ class DBImpl : public DB, public server::CacheConfigHandler, public server::Engi meta::hybrid::FieldsSchema& fields_schema) override; Status - InsertEntities(const std::string& collection_name, const std::string& partition_tag, engine::Entity& entity, + InsertEntities(const std::string& collection_name, const std::string& partition_tag, + const std::vector& field_names, engine::Entity& entity, std::unordered_map& field_types) override; Status diff --git a/core/src/db/Types.h b/core/src/db/Types.h index 03f45792e6..8f4992366e 100644 --- a/core/src/db/Types.h +++ b/core/src/db/Types.h @@ -50,6 +50,7 @@ struct VectorsData { struct Entity { uint64_t entity_count_ = 0; + std::vector attr_value_; std::unordered_map> attr_data_; std::unordered_map vector_data_; IDNumbers id_array_; diff --git a/core/src/db/engine/ExecutionEngineImpl.cpp b/core/src/db/engine/ExecutionEngineImpl.cpp index fab2460508..4e9b5337ac 100644 --- a/core/src/db/engine/ExecutionEngineImpl.cpp +++ b/core/src/db/engine/ExecutionEngineImpl.cpp @@ -810,10 +810,17 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(int8_t)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(int8_t); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(int8_t)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - int8_t query_value = atoi(term_value.c_str()); + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; @@ -831,10 +838,16 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(int16_t)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(int16_t); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(int16_t)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - int16_t query_value = atoi(term_value.c_str()); + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; @@ -852,10 +865,17 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(int32_t)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(int32_t); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(int32_t)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - int32_t query_value = atoi(term_value.c_str()); + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; @@ -873,10 +893,17 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(int64_t)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(int64_t); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(int64_t)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - int64_t query_value = atoi(term_value.c_str()); + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; @@ -894,12 +921,17 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(float)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(float); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(int64_t)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - std::istringstream iss(term_value); - float query_value; - iss >> query_value; + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; @@ -917,12 +949,17 @@ ExecutionEngineImpl::ExecBinaryQuery(milvus::query::GeneralQueryPtr general_quer std::vector data; data.resize(size / sizeof(double)); memcpy(data.data(), attr_data_.at(field_name).data(), size); + + std::vector term_value; + auto term_size = + general_query->leaf->term_query->field_value.size() * (sizeof(int8_t)) / sizeof(double); + term_value.resize(term_size); + memcpy(term_value.data(), general_query->leaf->term_query->field_value.data(), + term_size * sizeof(double)); + for (uint64_t i = 0; i < data.size(); ++i) { bool value_in_term = false; - for (auto term_value : general_query->leaf->term_query->field_value) { - std::istringstream iss(term_value); - double query_value; - iss >> query_value; + for (auto query_value : term_value) { if (data[i] == query_value) { value_in_term = true; break; diff --git a/core/src/grpc/gen-milvus/milvus.pb.cc b/core/src/grpc/gen-milvus/milvus.pb.cc index f5fc22f6d1..c9b59523fe 100644 --- a/core/src/grpc/gen-milvus/milvus.pb.cc +++ b/core/src/grpc/gen-milvus/milvus.pb.cc @@ -15,13 +15,12 @@ #include // @@protoc_insertion_point(includes) #include -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AttrRecord_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_BooleanQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CompareExpr_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_FieldParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FieldType_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FieldValue_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_HEntity_milvus_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HEntity_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HSearchParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Mapping_milvus_2eproto; @@ -521,10 +520,9 @@ static void InitDefaultsscc_info_HEntity_milvus_2eproto() { ::milvus::grpc::HEntity::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_HEntity_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsscc_info_HEntity_milvus_2eproto}, { +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HEntity_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_HEntity_milvus_2eproto}, { &scc_info_Status_status_2eproto.base, - &scc_info_AttrRecord_milvus_2eproto.base, &scc_info_FieldValue_milvus_2eproto.base,}}; static void InitDefaultsscc_info_HEntityIDs_milvus_2eproto() { @@ -1266,6 +1264,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, field_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, values_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, value_num_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, boost_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, extra_params_), ~0u, // no _has_bits_ @@ -1342,6 +1341,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, entity_id_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, field_names_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, attr_records_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, row_num_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, result_values_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::HQueryResult, _internal_metadata_), @@ -1436,22 +1436,22 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 242, -1, sizeof(::milvus::grpc::Mapping)}, { 251, -1, sizeof(::milvus::grpc::MappingList)}, { 258, -1, sizeof(::milvus::grpc::TermQuery)}, - { 267, -1, sizeof(::milvus::grpc::CompareExpr)}, - { 274, -1, sizeof(::milvus::grpc::RangeQuery)}, - { 283, -1, sizeof(::milvus::grpc::VectorQuery)}, - { 293, -1, sizeof(::milvus::grpc::BooleanQuery)}, - { 300, -1, sizeof(::milvus::grpc::GeneralQuery)}, - { 310, -1, sizeof(::milvus::grpc::HSearchParam)}, - { 319, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, - { 326, -1, sizeof(::milvus::grpc::AttrRecord)}, - { 332, -1, sizeof(::milvus::grpc::HEntity)}, - { 342, -1, sizeof(::milvus::grpc::HQueryResult)}, - { 352, -1, sizeof(::milvus::grpc::HInsertParam)}, - { 362, -1, sizeof(::milvus::grpc::HEntityIdentity)}, - { 369, -1, sizeof(::milvus::grpc::HEntityIDs)}, - { 376, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, - { 383, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, - { 390, -1, sizeof(::milvus::grpc::HIndexParam)}, + { 268, -1, sizeof(::milvus::grpc::CompareExpr)}, + { 275, -1, sizeof(::milvus::grpc::RangeQuery)}, + { 284, -1, sizeof(::milvus::grpc::VectorQuery)}, + { 294, -1, sizeof(::milvus::grpc::BooleanQuery)}, + { 301, -1, sizeof(::milvus::grpc::GeneralQuery)}, + { 311, -1, sizeof(::milvus::grpc::HSearchParam)}, + { 320, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, + { 327, -1, sizeof(::milvus::grpc::AttrRecord)}, + { 333, -1, sizeof(::milvus::grpc::HEntity)}, + { 344, -1, sizeof(::milvus::grpc::HQueryResult)}, + { 354, -1, sizeof(::milvus::grpc::HInsertParam)}, + { 364, -1, sizeof(::milvus::grpc::HEntityIdentity)}, + { 371, -1, sizeof(::milvus::grpc::HEntityIDs)}, + { 378, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, + { 385, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, + { 392, -1, sizeof(::milvus::grpc::HIndexParam)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -1589,135 +1589,136 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "\n\006fields\030\004 \003(\0132\027.milvus.grpc.FieldParam\"" "^\n\013MappingList\022#\n\006status\030\001 \001(\0132\023.milvus." "grpc.Status\022*\n\014mapping_list\030\002 \003(\0132\024.milv" - "us.grpc.Mapping\"o\n\tTermQuery\022\022\n\nfield_na" - "me\030\001 \001(\t\022\016\n\006values\030\002 \003(\t\022\r\n\005boost\030\003 \001(\002\022" - "/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.KeyV" - "aluePair\"N\n\013CompareExpr\022.\n\010operator\030\001 \001(" - "\0162\034.milvus.grpc.CompareOperator\022\017\n\007opera" - "nd\030\002 \001(\t\"\213\001\n\nRangeQuery\022\022\n\nfield_name\030\001 " - "\001(\t\022)\n\007operand\030\002 \003(\0132\030.milvus.grpc.Compa" - "reExpr\022\r\n\005boost\030\003 \001(\002\022/\n\014extra_params\030\004 " - "\003(\0132\031.milvus.grpc.KeyValuePair\"\236\001\n\013Vecto" - "rQuery\022\022\n\nfield_name\030\001 \001(\t\022\023\n\013query_boos" - "t\030\002 \001(\002\022\'\n\007records\030\003 \003(\0132\026.milvus.grpc.R" - "owRecord\022\014\n\004topk\030\004 \001(\003\022/\n\014extra_params\030\005" - " \003(\0132\031.milvus.grpc.KeyValuePair\"c\n\014Boole" - "anQuery\022!\n\005occur\030\001 \001(\0162\022.milvus.grpc.Occ" - "ur\0220\n\rgeneral_query\030\002 \003(\0132\031.milvus.grpc." - "GeneralQuery\"\333\001\n\014GeneralQuery\0222\n\rboolean" - "_query\030\001 \001(\0132\031.milvus.grpc.BooleanQueryH" - "\000\022,\n\nterm_query\030\002 \001(\0132\026.milvus.grpc.Term" - "QueryH\000\022.\n\013range_query\030\003 \001(\0132\027.milvus.gr" - "pc.RangeQueryH\000\0220\n\014vector_query\030\004 \001(\0132\030." - "milvus.grpc.VectorQueryH\000B\007\n\005query\"\247\001\n\014H" - "SearchParam\022\027\n\017collection_name\030\001 \001(\t\022\033\n\023" - "partition_tag_array\030\002 \003(\t\0220\n\rgeneral_que" - "ry\030\003 \001(\0132\031.milvus.grpc.GeneralQuery\022/\n\014e" - "xtra_params\030\004 \003(\0132\031.milvus.grpc.KeyValue" - "Pair\"c\n\026HSearchInSegmentsParam\022\030\n\020segmen" - "t_id_array\030\001 \003(\t\022/\n\014search_param\030\002 \001(\0132\031" - ".milvus.grpc.HSearchParam\"\033\n\nAttrRecord\022" - "\r\n\005value\030\001 \003(\t\"\265\001\n\007HEntity\022#\n\006status\030\001 \001" - "(\0132\023.milvus.grpc.Status\022\021\n\tentity_id\030\002 \001" - "(\003\022\023\n\013field_names\030\003 \003(\t\022-\n\014attr_records\030" - "\004 \003(\0132\027.milvus.grpc.AttrRecord\022.\n\rresult" - "_values\030\005 \003(\0132\027.milvus.grpc.FieldValue\"\215" - "\001\n\014HQueryResult\022#\n\006status\030\001 \001(\0132\023.milvus" - ".grpc.Status\022&\n\010entities\030\002 \003(\0132\024.milvus." - "grpc.HEntity\022\017\n\007row_num\030\003 \001(\003\022\r\n\005score\030\004" - " \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014HInsertParam\022" - "\027\n\017collection_name\030\001 \001(\t\022\025\n\rpartition_ta" - "g\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024.milvus.grpc." - "HEntity\022\027\n\017entity_id_array\030\004 \003(\003\022/\n\014extr" - "a_params\030\005 \003(\0132\031.milvus.grpc.KeyValuePai" - "r\"6\n\017HEntityIdentity\022\027\n\017collection_name\030" - "\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntityIDs\022#\n\006statu" - "s\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017entity_i" - "d_array\030\002 \003(\003\"C\n\022HGetEntityIDsParam\022\027\n\017c" - "ollection_name\030\001 \001(\t\022\024\n\014segment_name\030\002 \001" - "(\t\"=\n\020HDeleteByIDParam\022\027\n\017collection_nam" - "e\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001\n\013HIndexPara" - "m\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027" - "\n\017collection_name\030\002 \001(\t\022\022\n\nindex_type\030\003 " - "\001(\005\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc." - "KeyValuePair*\206\001\n\010DataType\022\010\n\004NULL\020\000\022\010\n\004I" - "NT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005INT64\020\004\022\n" - "\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOAT\020(\022\n\n\006DOUBL" - "E\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217N*C\n\017Compare" - "Operator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n\002EQ\020\002\022\006\n\002GT\020" - "\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022\013\n\007INVALID\020\000" - "\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MUST_NOT\020\0032\212\026\n" - "\rMilvusService\022H\n\020CreateCollection\022\035.mil" - "vus.grpc.CollectionSchema\032\023.milvus.grpc." - "Status\"\000\022F\n\rHasCollection\022\033.milvus.grpc." - "CollectionName\032\026.milvus.grpc.BoolReply\"\000" - "\022R\n\022DescribeCollection\022\033.milvus.grpc.Col" - "lectionName\032\035.milvus.grpc.CollectionSche" - "ma\"\000\022Q\n\017CountCollection\022\033.milvus.grpc.Co" - "llectionName\032\037.milvus.grpc.CollectionRow" - "Count\"\000\022J\n\017ShowCollections\022\024.milvus.grpc" - ".Command\032\037.milvus.grpc.CollectionNameLis" - "t\"\000\022P\n\022ShowCollectionInfo\022\033.milvus.grpc." - "CollectionName\032\033.milvus.grpc.CollectionI" - "nfo\"\000\022D\n\016DropCollection\022\033.milvus.grpc.Co" - "llectionName\032\023.milvus.grpc.Status\"\000\022=\n\013C" - "reateIndex\022\027.milvus.grpc.IndexParam\032\023.mi" - "lvus.grpc.Status\"\000\022G\n\rDescribeIndex\022\033.mi" - "lvus.grpc.CollectionName\032\027.milvus.grpc.I" - "ndexParam\"\000\022\?\n\tDropIndex\022\033.milvus.grpc.C" - "ollectionName\032\023.milvus.grpc.Status\"\000\022E\n\017" - "CreatePartition\022\033.milvus.grpc.PartitionP" - "aram\032\023.milvus.grpc.Status\"\000\022K\n\016ShowParti" - "tions\022\033.milvus.grpc.CollectionName\032\032.mil" - "vus.grpc.PartitionList\"\000\022C\n\rDropPartitio" - "n\022\033.milvus.grpc.PartitionParam\032\023.milvus." - "grpc.Status\"\000\022<\n\006Insert\022\030.milvus.grpc.In" - "sertParam\032\026.milvus.grpc.VectorIds\"\000\022G\n\rG" - "etVectorByID\022\033.milvus.grpc.VectorIdentit" - "y\032\027.milvus.grpc.VectorData\"\000\022H\n\014GetVecto" - "rIDs\022\036.milvus.grpc.GetVectorIDsParam\032\026.m" - "ilvus.grpc.VectorIds\"\000\022B\n\006Search\022\030.milvu" - "s.grpc.SearchParam\032\034.milvus.grpc.TopKQue" - "ryResult\"\000\022J\n\nSearchByID\022\034.milvus.grpc.S" - "earchByIDParam\032\034.milvus.grpc.TopKQueryRe" - "sult\"\000\022P\n\rSearchInFiles\022\037.milvus.grpc.Se" - "archInFilesParam\032\034.milvus.grpc.TopKQuery" - "Result\"\000\0227\n\003Cmd\022\024.milvus.grpc.Command\032\030." - "milvus.grpc.StringReply\"\000\022A\n\nDeleteByID\022" - "\034.milvus.grpc.DeleteByIDParam\032\023.milvus.g" - "rpc.Status\"\000\022G\n\021PreloadCollection\022\033.milv" - "us.grpc.CollectionName\032\023.milvus.grpc.Sta" - "tus\"\000\0227\n\005Flush\022\027.milvus.grpc.FlushParam\032" - "\023.milvus.grpc.Status\"\000\022=\n\007Compact\022\033.milv" - "us.grpc.CollectionName\032\023.milvus.grpc.Sta" - "tus\"\000\022E\n\026CreateHybridCollection\022\024.milvus" - ".grpc.Mapping\032\023.milvus.grpc.Status\"\000\022L\n\023" - "HasHybridCollection\022\033.milvus.grpc.Collec" - "tionName\032\026.milvus.grpc.BoolReply\"\000\022J\n\024Dr" - "opHybridCollection\022\033.milvus.grpc.Collect" - "ionName\032\023.milvus.grpc.Status\"\000\022O\n\030Descri" - "beHybridCollection\022\033.milvus.grpc.Collect" - "ionName\032\024.milvus.grpc.Mapping\"\000\022W\n\025Count" - "HybridCollection\022\033.milvus.grpc.Collectio" - "nName\032\037.milvus.grpc.CollectionRowCount\"\000" - "\022I\n\025ShowHybridCollections\022\024.milvus.grpc." - "Command\032\030.milvus.grpc.MappingList\"\000\022V\n\030S" - "howHybridCollectionInfo\022\033.milvus.grpc.Co" - "llectionName\032\033.milvus.grpc.CollectionInf" - "o\"\000\022M\n\027PreloadHybridCollection\022\033.milvus." + "us.grpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_n" + "ame\030\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003" + " \001(\003\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(" + "\0132\031.milvus.grpc.KeyValuePair\"N\n\013CompareE" + "xpr\022.\n\010operator\030\001 \001(\0162\034.milvus.grpc.Comp" + "areOperator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQu" + "ery\022\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\013" + "2\030.milvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(" + "\002\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.Ke" + "yValuePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name" + "\030\001 \001(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003" + " \003(\0132\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001" + "(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.K" + "eyValuePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001" + "(\0162\022.milvus.grpc.Occur\0220\n\rgeneral_query\030" + "\002 \003(\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014Gen" + "eralQuery\0222\n\rboolean_query\030\001 \001(\0132\031.milvu" + "s.grpc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(" + "\0132\026.milvus.grpc.TermQueryH\000\022.\n\013range_que" + "ry\030\003 \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014v" + "ector_query\030\004 \001(\0132\030.milvus.grpc.VectorQu" + "eryH\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017colle" + "ction_name\030\001 \001(\t\022\033\n\023partition_tag_array\030" + "\002 \003(\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.gr" + "pc.GeneralQuery\022/\n\014extra_params\030\004 \003(\0132\031." + "milvus.grpc.KeyValuePair\"c\n\026HSearchInSeg" + "mentsParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014" + "search_param\030\002 \001(\0132\031.milvus.grpc.HSearch" + "Param\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007H" + "Entity\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Sta" + "tus\022\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 " + "\003(\t\022\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001" + "(\003\022.\n\rresult_values\030\006 \003(\0132\027.milvus.grpc." + "FieldValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 " + "\001(\0132\023.milvus.grpc.Status\022&\n\010entities\030\002 \003" + "(\0132\024.milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(" + "\003\022\r\n\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014H" + "InsertParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\r" + "partition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024." + "milvus.grpc.HEntity\022\027\n\017entity_id_array\030\004" + " \003(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc" + ".KeyValuePair\"6\n\017HEntityIdentity\022\027\n\017coll" + "ection_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntity" + "IDs\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" + "\022\027\n\017entity_id_array\030\002 \003(\003\"C\n\022HGetEntityI" + "DsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segm" + "ent_name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017co" + "llection_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001" + "\n\013HIndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.g" + "rpc.Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\ni" + "ndex_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031." + "milvus.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n" + "\004NULL\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022" + "\t\n\005INT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOA" + "T\020(\022\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217" + "N*C\n\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n" + "\002EQ\020\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022" + "\013\n\007INVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MU" + "ST_NOT\020\0032\212\026\n\rMilvusService\022H\n\020CreateColl" + "ection\022\035.milvus.grpc.CollectionSchema\032\023." + "milvus.grpc.Status\"\000\022F\n\rHasCollection\022\033." + "milvus.grpc.CollectionName\032\026.milvus.grpc" + ".BoolReply\"\000\022R\n\022DescribeCollection\022\033.mil" + "vus.grpc.CollectionName\032\035.milvus.grpc.Co" + "llectionSchema\"\000\022Q\n\017CountCollection\022\033.mi" + "lvus.grpc.CollectionName\032\037.milvus.grpc.C" + "ollectionRowCount\"\000\022J\n\017ShowCollections\022\024" + ".milvus.grpc.Command\032\037.milvus.grpc.Colle" + "ctionNameList\"\000\022P\n\022ShowCollectionInfo\022\033." + "milvus.grpc.CollectionName\032\033.milvus.grpc" + ".CollectionInfo\"\000\022D\n\016DropCollection\022\033.mi" + "lvus.grpc.CollectionName\032\023.milvus.grpc.S" + "tatus\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.Ind" + "exParam\032\023.milvus.grpc.Status\"\000\022G\n\rDescri" + "beIndex\022\033.milvus.grpc.CollectionName\032\027.m" + "ilvus.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.m" + "ilvus.grpc.CollectionName\032\023.milvus.grpc." + "Status\"\000\022E\n\017CreatePartition\022\033.milvus.grp" + "c.PartitionParam\032\023.milvus.grpc.Status\"\000\022" + "K\n\016ShowPartitions\022\033.milvus.grpc.Collecti" + "onName\032\032.milvus.grpc.PartitionList\"\000\022C\n\r" + "DropPartition\022\033.milvus.grpc.PartitionPar" + "am\032\023.milvus.grpc.Status\"\000\022<\n\006Insert\022\030.mi" + "lvus.grpc.InsertParam\032\026.milvus.grpc.Vect" + "orIds\"\000\022G\n\rGetVectorByID\022\033.milvus.grpc.V" + "ectorIdentity\032\027.milvus.grpc.VectorData\"\000" + "\022H\n\014GetVectorIDs\022\036.milvus.grpc.GetVector" + "IDsParam\032\026.milvus.grpc.VectorIds\"\000\022B\n\006Se" + "arch\022\030.milvus.grpc.SearchParam\032\034.milvus." + "grpc.TopKQueryResult\"\000\022J\n\nSearchByID\022\034.m" + "ilvus.grpc.SearchByIDParam\032\034.milvus.grpc" + ".TopKQueryResult\"\000\022P\n\rSearchInFiles\022\037.mi" + "lvus.grpc.SearchInFilesParam\032\034.milvus.gr" + "pc.TopKQueryResult\"\000\0227\n\003Cmd\022\024.milvus.grp" + "c.Command\032\030.milvus.grpc.StringReply\"\000\022A\n" + "\nDeleteByID\022\034.milvus.grpc.DeleteByIDPara" + "m\032\023.milvus.grpc.Status\"\000\022G\n\021PreloadColle" + "ction\022\033.milvus.grpc.CollectionName\032\023.mil" + "vus.grpc.Status\"\000\0227\n\005Flush\022\027.milvus.grpc" + ".FlushParam\032\023.milvus.grpc.Status\"\000\022=\n\007Co" + "mpact\022\033.milvus.grpc.CollectionName\032\023.mil" + "vus.grpc.Status\"\000\022E\n\026CreateHybridCollect" + "ion\022\024.milvus.grpc.Mapping\032\023.milvus.grpc." + "Status\"\000\022L\n\023HasHybridCollection\022\033.milvus" + ".grpc.CollectionName\032\026.milvus.grpc.BoolR" + "eply\"\000\022J\n\024DropHybridCollection\022\033.milvus." "grpc.CollectionName\032\023.milvus.grpc.Status" - "\"\000\022D\n\014InsertEntity\022\031.milvus.grpc.HInsert" - "Param\032\027.milvus.grpc.HEntityIDs\"\000\022I\n\014Hybr" - "idSearch\022\031.milvus.grpc.HSearchParam\032\034.mi" - "lvus.grpc.TopKQueryResult\"\000\022]\n\026HybridSea" - "rchInSegments\022#.milvus.grpc.HSearchInSeg" - "mentsParam\032\034.milvus.grpc.TopKQueryResult" - "\"\000\022E\n\rGetEntityByID\022\034.milvus.grpc.HEntit" - "yIdentity\032\024.milvus.grpc.HEntity\"\000\022J\n\014Get" - "EntityIDs\022\037.milvus.grpc.HGetEntityIDsPar" - "am\032\027.milvus.grpc.HEntityIDs\"\000\022J\n\022DeleteE" - "ntitiesByID\022\035.milvus.grpc.HDeleteByIDPar" - "am\032\023.milvus.grpc.Status\"\000b\006proto3" + "\"\000\022O\n\030DescribeHybridCollection\022\033.milvus." + "grpc.CollectionName\032\024.milvus.grpc.Mappin" + "g\"\000\022W\n\025CountHybridCollection\022\033.milvus.gr" + "pc.CollectionName\032\037.milvus.grpc.Collecti" + "onRowCount\"\000\022I\n\025ShowHybridCollections\022\024." + "milvus.grpc.Command\032\030.milvus.grpc.Mappin" + "gList\"\000\022V\n\030ShowHybridCollectionInfo\022\033.mi" + "lvus.grpc.CollectionName\032\033.milvus.grpc.C" + "ollectionInfo\"\000\022M\n\027PreloadHybridCollecti" + "on\022\033.milvus.grpc.CollectionName\032\023.milvus" + ".grpc.Status\"\000\022D\n\014InsertEntity\022\031.milvus." + "grpc.HInsertParam\032\027.milvus.grpc.HEntityI" + "Ds\"\000\022I\n\014HybridSearch\022\031.milvus.grpc.HSear" + "chParam\032\034.milvus.grpc.TopKQueryResult\"\000\022" + "]\n\026HybridSearchInSegments\022#.milvus.grpc." + "HSearchInSegmentsParam\032\034.milvus.grpc.Top" + "KQueryResult\"\000\022E\n\rGetEntityByID\022\034.milvus" + ".grpc.HEntityIdentity\032\024.milvus.grpc.HEnt" + "ity\"\000\022J\n\014GetEntityIDs\022\037.milvus.grpc.HGet" + "EntityIDsParam\032\027.milvus.grpc.HEntityIDs\"" + "\000\022J\n\022DeleteEntitiesByID\022\035.milvus.grpc.HD" + "eleteByIDParam\032\023.milvus.grpc.Status\"\000b\006p" + "roto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = { &::descriptor_table_status_2eproto, @@ -1776,7 +1777,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8393, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8405, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 49, 1, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, file_level_metadata_milvus_2eproto, 50, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, @@ -13996,21 +13997,29 @@ TermQuery::TermQuery() TermQuery::TermQuery(const TermQuery& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), - values_(from.values_), extra_params_(from.extra_params_) { _internal_metadata_.MergeFrom(from._internal_metadata_); field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.field_name().empty()) { field_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.field_name_); } - boost_ = from.boost_; + values_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.values().empty()) { + values_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.values_); + } + ::memcpy(&value_num_, &from.value_num_, + static_cast(reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); // @@protoc_insertion_point(copy_constructor:milvus.grpc.TermQuery) } void TermQuery::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TermQuery_milvus_2eproto.base); field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - boost_ = 0; + values_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(&value_num_, 0, static_cast( + reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); } TermQuery::~TermQuery() { @@ -14020,6 +14029,7 @@ TermQuery::~TermQuery() { void TermQuery::SharedDtor() { field_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + values_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } void TermQuery::SetCachedSize(int size) const { @@ -14037,10 +14047,12 @@ void TermQuery::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - values_.Clear(); extra_params_.Clear(); field_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - boost_ = 0; + values_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(&value_num_, 0, static_cast( + reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); _internal_metadata_.Clear(); } @@ -14059,35 +14071,37 @@ const char* TermQuery::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: CHK_(ptr); } else goto handle_unusual; continue; - // repeated string values = 2; + // bytes values = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_values(), ptr, ctx, "milvus.grpc.TermQuery.values"); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_values(), ptr, ctx); + CHK_(ptr); } else goto handle_unusual; continue; - // float boost = 3; + // int64 value_num = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + value_num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // float boost = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) { boost_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); ptr += sizeof(float); } else goto handle_unusual; continue; - // repeated .milvus.grpc.KeyValuePair extra_params = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + // repeated .milvus.grpc.KeyValuePair extra_params = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(add_extra_params(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34); + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42); } else goto handle_unusual; continue; default: { @@ -14135,25 +14149,33 @@ bool TermQuery::MergePartialFromCodedStream( break; } - // repeated string values = 2; + // bytes values = 2; case 2: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->add_values())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(this->values_size() - 1).data(), - static_cast(this->values(this->values_size() - 1).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.TermQuery.values")); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes( + input, this->mutable_values())); } else { goto handle_unusual; } break; } - // float boost = 3; + // int64 value_num = 3; case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (29 & 0xFF)) { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &value_num_))); + } else { + goto handle_unusual; + } + break; + } + + // float boost = 4; + case 4: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (37 & 0xFF)) { DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< float, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_FLOAT>( @@ -14164,9 +14186,9 @@ bool TermQuery::MergePartialFromCodedStream( break; } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; - case 4: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) { + // repeated .milvus.grpc.KeyValuePair extra_params = 5; + case 5: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( input, add_extra_params())); } else { @@ -14212,26 +14234,27 @@ void TermQuery::SerializeWithCachedSizes( 1, this->field_name(), output); } - // repeated string values = 2; - for (int i = 0, n = this->values_size(); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(i).data(), static_cast(this->values(i).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.TermQuery.values"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString( - 2, this->values(i), output); + // bytes values = 2; + if (this->values().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesMaybeAliased( + 2, this->values(), output); } - // float boost = 3; + // int64 value_num = 3; + if (this->value_num() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(3, this->value_num(), output); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloat(3, this->boost(), output); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloat(4, this->boost(), output); } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; for (unsigned int i = 0, n = static_cast(this->extra_params_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, + 5, this->extra_params(static_cast(i)), output); } @@ -14260,27 +14283,29 @@ void TermQuery::SerializeWithCachedSizes( 1, this->field_name(), target); } - // repeated string values = 2; - for (int i = 0, n = this->values_size(); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(i).data(), static_cast(this->values(i).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.TermQuery.values"); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - WriteStringToArray(2, this->values(i), target); + // bytes values = 2; + if (this->values().size() > 0) { + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesToArray( + 2, this->values(), target); } - // float boost = 3; + // int64 value_num = 3; + if (this->value_num() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->value_num(), target); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->boost(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->boost(), target); } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; for (unsigned int i = 0, n = static_cast(this->extra_params_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 4, this->extra_params(static_cast(i)), target); + 5, this->extra_params(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -14304,15 +14329,7 @@ size_t TermQuery::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated string values = 2; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->values_size()); - for (int i = 0, n = this->values_size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->values(i)); - } - - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; { unsigned int count = static_cast(this->extra_params_size()); total_size += 1UL * count; @@ -14330,7 +14347,21 @@ size_t TermQuery::ByteSizeLong() const { this->field_name()); } - // float boost = 3; + // bytes values = 2; + if (this->values().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->values()); + } + + // int64 value_num = 3; + if (this->value_num() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->value_num()); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { total_size += 1 + 4; } @@ -14362,12 +14393,18 @@ void TermQuery::MergeFrom(const TermQuery& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - values_.MergeFrom(from.values_); extra_params_.MergeFrom(from.extra_params_); if (from.field_name().size() > 0) { field_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.field_name_); } + if (from.values().size() > 0) { + + values_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.values_); + } + if (from.value_num() != 0) { + set_value_num(from.value_num()); + } if (!(from.boost() <= 0 && from.boost() >= 0)) { set_boost(from.boost()); } @@ -14394,10 +14431,12 @@ bool TermQuery::IsInitialized() const { void TermQuery::InternalSwap(TermQuery* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - values_.InternalSwap(CastToBase(&other->values_)); CastToBase(&extra_params_)->InternalSwap(CastToBase(&other->extra_params_)); field_name_.Swap(&other->field_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + values_.Swap(&other->values_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(value_num_, other->value_num_); swap(boost_, other->boost_); } @@ -17509,23 +17548,29 @@ HEntity::HEntity(const HEntity& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), field_names_(from.field_names_), - attr_records_(from.attr_records_), result_values_(from.result_values_) { _internal_metadata_.MergeFrom(from._internal_metadata_); + attr_records_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.attr_records().empty()) { + attr_records_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.attr_records_); + } if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - entity_id_ = from.entity_id_; + ::memcpy(&entity_id_, &from.entity_id_, + static_cast(reinterpret_cast(&row_num_) - + reinterpret_cast(&entity_id_)) + sizeof(row_num_)); // @@protoc_insertion_point(copy_constructor:milvus.grpc.HEntity) } void HEntity::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_HEntity_milvus_2eproto.base); + attr_records_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(&status_, 0, static_cast( - reinterpret_cast(&entity_id_) - - reinterpret_cast(&status_)) + sizeof(entity_id_)); + reinterpret_cast(&row_num_) - + reinterpret_cast(&status_)) + sizeof(row_num_)); } HEntity::~HEntity() { @@ -17534,6 +17579,7 @@ HEntity::~HEntity() { } void HEntity::SharedDtor() { + attr_records_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete status_; } @@ -17553,13 +17599,15 @@ void HEntity::Clear() { (void) cached_has_bits; field_names_.Clear(); - attr_records_.Clear(); result_values_.Clear(); + attr_records_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - entity_id_ = PROTOBUF_LONGLONG(0); + ::memset(&entity_id_, 0, static_cast( + reinterpret_cast(&row_num_) - + reinterpret_cast(&entity_id_)) + sizeof(row_num_)); _internal_metadata_.Clear(); } @@ -17597,28 +17645,30 @@ const char* HEntity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); } else goto handle_unusual; continue; - // repeated .milvus.grpc.AttrRecord attr_records = 4; + // bytes attr_records = 4; case 4: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_attr_records(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_attr_records(), ptr, ctx); + CHK_(ptr); } else goto handle_unusual; continue; - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + row_num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .milvus.grpc.FieldValue result_values = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(add_result_values(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42); + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50); } else goto handle_unusual; continue; default: { @@ -17691,20 +17741,33 @@ bool HEntity::MergePartialFromCodedStream( break; } - // repeated .milvus.grpc.AttrRecord attr_records = 4; + // bytes attr_records = 4; case 4: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_attr_records())); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes( + input, this->mutable_attr_records())); } else { goto handle_unusual; } break; } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; case 5: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &row_num_))); + } else { + goto handle_unusual; + } + break; + } + + // repeated .milvus.grpc.FieldValue result_values = 6; + case 6: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (50 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( input, add_result_values())); } else { @@ -17761,20 +17824,22 @@ void HEntity::SerializeWithCachedSizes( 3, this->field_names(i), output); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - for (unsigned int i = 0, - n = static_cast(this->attr_records_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, - this->attr_records(static_cast(i)), - output); + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesMaybeAliased( + 4, this->attr_records(), output); } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; + if (this->row_num() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->row_num(), output); + } + + // repeated .milvus.grpc.FieldValue result_values = 6; for (unsigned int i = 0, n = static_cast(this->result_values_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, + 6, this->result_values(static_cast(i)), output); } @@ -17814,20 +17879,24 @@ void HEntity::SerializeWithCachedSizes( WriteStringToArray(3, this->field_names(i), target); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - for (unsigned int i = 0, - n = static_cast(this->attr_records_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 4, this->attr_records(static_cast(i)), target); + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesToArray( + 4, this->attr_records(), target); } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; + if (this->row_num() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->row_num(), target); + } + + // repeated .milvus.grpc.FieldValue result_values = 6; for (unsigned int i = 0, n = static_cast(this->result_values_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 5, this->result_values(static_cast(i)), target); + 6, this->result_values(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -17859,18 +17928,7 @@ size_t HEntity::ByteSizeLong() const { this->field_names(i)); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - { - unsigned int count = static_cast(this->attr_records_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->attr_records(static_cast(i))); - } - } - - // repeated .milvus.grpc.FieldValue result_values = 5; + // repeated .milvus.grpc.FieldValue result_values = 6; { unsigned int count = static_cast(this->result_values_size()); total_size += 1UL * count; @@ -17881,6 +17939,13 @@ size_t HEntity::ByteSizeLong() const { } } + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->attr_records()); + } + // .milvus.grpc.Status status = 1; if (this->has_status()) { total_size += 1 + @@ -17895,6 +17960,13 @@ size_t HEntity::ByteSizeLong() const { this->entity_id()); } + // int64 row_num = 5; + if (this->row_num() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->row_num()); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -17923,14 +17995,20 @@ void HEntity::MergeFrom(const HEntity& from) { (void) cached_has_bits; field_names_.MergeFrom(from.field_names_); - attr_records_.MergeFrom(from.attr_records_); result_values_.MergeFrom(from.result_values_); + if (from.attr_records().size() > 0) { + + attr_records_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.attr_records_); + } if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } if (from.entity_id() != 0) { set_entity_id(from.entity_id()); } + if (from.row_num() != 0) { + set_row_num(from.row_num()); + } } void HEntity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { @@ -17955,10 +18033,12 @@ void HEntity::InternalSwap(HEntity* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); field_names_.InternalSwap(CastToBase(&other->field_names_)); - CastToBase(&attr_records_)->InternalSwap(CastToBase(&other->attr_records_)); CastToBase(&result_values_)->InternalSwap(CastToBase(&other->result_values_)); + attr_records_.Swap(&other->attr_records_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(status_, other->status_); swap(entity_id_, other->entity_id_); + swap(row_num_, other->row_num_); } ::PROTOBUF_NAMESPACE_ID::Metadata HEntity::GetMetadata() const { diff --git a/core/src/grpc/gen-milvus/milvus.pb.h b/core/src/grpc/gen-milvus/milvus.pb.h index 0bd2527120..b246211763 100644 --- a/core/src/grpc/gen-milvus/milvus.pb.h +++ b/core/src/grpc/gen-milvus/milvus.pb.h @@ -5656,29 +5656,13 @@ class TermQuery : // accessors ------------------------------------------------------- enum : int { - kValuesFieldNumber = 2, - kExtraParamsFieldNumber = 4, + kExtraParamsFieldNumber = 5, kFieldNameFieldNumber = 1, - kBoostFieldNumber = 3, + kValuesFieldNumber = 2, + kValueNumFieldNumber = 3, + kBoostFieldNumber = 4, }; - // repeated string values = 2; - int values_size() const; - void clear_values(); - const std::string& values(int index) const; - std::string* mutable_values(int index); - void set_values(int index, const std::string& value); - void set_values(int index, std::string&& value); - void set_values(int index, const char* value); - void set_values(int index, const char* value, size_t size); - std::string* add_values(); - void add_values(const std::string& value); - void add_values(std::string&& value); - void add_values(const char* value); - void add_values(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& values() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_values(); - - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; int extra_params_size() const; void clear_extra_params(); ::milvus::grpc::KeyValuePair* mutable_extra_params(int index); @@ -5700,7 +5684,23 @@ class TermQuery : std::string* release_field_name(); void set_allocated_field_name(std::string* field_name); - // float boost = 3; + // bytes values = 2; + void clear_values(); + const std::string& values() const; + void set_values(const std::string& value); + void set_values(std::string&& value); + void set_values(const char* value); + void set_values(const void* value, size_t size); + std::string* mutable_values(); + std::string* release_values(); + void set_allocated_values(std::string* values); + + // int64 value_num = 3; + void clear_value_num(); + ::PROTOBUF_NAMESPACE_ID::int64 value_num() const; + void set_value_num(::PROTOBUF_NAMESPACE_ID::int64 value); + + // float boost = 4; void clear_boost(); float boost() const; void set_boost(float value); @@ -5710,9 +5710,10 @@ class TermQuery : class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField values_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::KeyValuePair > extra_params_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr field_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr values_; + ::PROTOBUF_NAMESPACE_ID::int64 value_num_; float boost_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -7129,10 +7130,11 @@ class HEntity : enum : int { kFieldNamesFieldNumber = 3, + kResultValuesFieldNumber = 6, kAttrRecordsFieldNumber = 4, - kResultValuesFieldNumber = 5, kStatusFieldNumber = 1, kEntityIdFieldNumber = 2, + kRowNumFieldNumber = 5, }; // repeated string field_names = 3; int field_names_size() const; @@ -7151,18 +7153,7 @@ class HEntity : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& field_names() const; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_field_names(); - // repeated .milvus.grpc.AttrRecord attr_records = 4; - int attr_records_size() const; - void clear_attr_records(); - ::milvus::grpc::AttrRecord* mutable_attr_records(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >* - mutable_attr_records(); - const ::milvus::grpc::AttrRecord& attr_records(int index) const; - ::milvus::grpc::AttrRecord* add_attr_records(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >& - attr_records() const; - - // repeated .milvus.grpc.FieldValue result_values = 5; + // repeated .milvus.grpc.FieldValue result_values = 6; int result_values_size() const; void clear_result_values(); ::milvus::grpc::FieldValue* mutable_result_values(int index); @@ -7173,6 +7164,17 @@ class HEntity : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::FieldValue >& result_values() const; + // bytes attr_records = 4; + void clear_attr_records(); + const std::string& attr_records() const; + void set_attr_records(const std::string& value); + void set_attr_records(std::string&& value); + void set_attr_records(const char* value); + void set_attr_records(const void* value, size_t size); + std::string* mutable_attr_records(); + std::string* release_attr_records(); + void set_allocated_attr_records(std::string* attr_records); + // .milvus.grpc.Status status = 1; bool has_status() const; void clear_status(); @@ -7186,16 +7188,22 @@ class HEntity : ::PROTOBUF_NAMESPACE_ID::int64 entity_id() const; void set_entity_id(::PROTOBUF_NAMESPACE_ID::int64 value); + // int64 row_num = 5; + void clear_row_num(); + ::PROTOBUF_NAMESPACE_ID::int64 row_num() const; + void set_row_num(::PROTOBUF_NAMESPACE_ID::int64 value); + // @@protoc_insertion_point(class_scope:milvus.grpc.HEntity) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField field_names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord > attr_records_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::FieldValue > result_values_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attr_records_; ::milvus::grpc::Status* status_; ::PROTOBUF_NAMESPACE_ID::int64 entity_id_; + ::PROTOBUF_NAMESPACE_ID::int64 row_num_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; @@ -12009,72 +12017,72 @@ inline void TermQuery::set_allocated_field_name(std::string* field_name) { // @@protoc_insertion_point(field_set_allocated:milvus.grpc.TermQuery.field_name) } -// repeated string values = 2; -inline int TermQuery::values_size() const { - return values_.size(); -} +// bytes values = 2; inline void TermQuery::clear_values() { - values_.Clear(); + values_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const std::string& TermQuery::values(int index) const { +inline const std::string& TermQuery::values() const { // @@protoc_insertion_point(field_get:milvus.grpc.TermQuery.values) - return values_.Get(index); + return values_.GetNoArena(); } -inline std::string* TermQuery::mutable_values(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.TermQuery.values) - return values_.Mutable(index); -} -inline void TermQuery::set_values(int index, const std::string& value) { +inline void TermQuery::set_values(const std::string& value) { + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.values) - values_.Mutable(index)->assign(value); } -inline void TermQuery::set_values(int index, std::string&& value) { - // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.values) - values_.Mutable(index)->assign(std::move(value)); +inline void TermQuery::set_values(std::string&& value) { + + values_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.TermQuery.values) } -inline void TermQuery::set_values(int index, const char* value) { +inline void TermQuery::set_values(const char* value) { GOOGLE_DCHECK(value != nullptr); - values_.Mutable(index)->assign(value); + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); // @@protoc_insertion_point(field_set_char:milvus.grpc.TermQuery.values) } -inline void TermQuery::set_values(int index, const char* value, size_t size) { - values_.Mutable(index)->assign( - reinterpret_cast(value), size); +inline void TermQuery::set_values(const void* value, size_t size) { + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); // @@protoc_insertion_point(field_set_pointer:milvus.grpc.TermQuery.values) } -inline std::string* TermQuery::add_values() { - // @@protoc_insertion_point(field_add_mutable:milvus.grpc.TermQuery.values) - return values_.Add(); +inline std::string* TermQuery::mutable_values() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.TermQuery.values) + return values_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void TermQuery::add_values(const std::string& value) { - values_.Add()->assign(value); - // @@protoc_insertion_point(field_add:milvus.grpc.TermQuery.values) +inline std::string* TermQuery::release_values() { + // @@protoc_insertion_point(field_release:milvus.grpc.TermQuery.values) + + return values_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void TermQuery::add_values(std::string&& value) { - values_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:milvus.grpc.TermQuery.values) -} -inline void TermQuery::add_values(const char* value) { - GOOGLE_DCHECK(value != nullptr); - values_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:milvus.grpc.TermQuery.values) -} -inline void TermQuery::add_values(const char* value, size_t size) { - values_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:milvus.grpc.TermQuery.values) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -TermQuery::values() const { - // @@protoc_insertion_point(field_list:milvus.grpc.TermQuery.values) - return values_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -TermQuery::mutable_values() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.TermQuery.values) - return &values_; +inline void TermQuery::set_allocated_values(std::string* values) { + if (values != nullptr) { + + } else { + + } + values_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), values); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.TermQuery.values) } -// float boost = 3; +// int64 value_num = 3; +inline void TermQuery::clear_value_num() { + value_num_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 TermQuery::value_num() const { + // @@protoc_insertion_point(field_get:milvus.grpc.TermQuery.value_num) + return value_num_; +} +inline void TermQuery::set_value_num(::PROTOBUF_NAMESPACE_ID::int64 value) { + + value_num_ = value; + // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.value_num) +} + +// float boost = 4; inline void TermQuery::clear_boost() { boost_ = 0; } @@ -12088,7 +12096,7 @@ inline void TermQuery::set_boost(float value) { // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.boost) } -// repeated .milvus.grpc.KeyValuePair extra_params = 4; +// repeated .milvus.grpc.KeyValuePair extra_params = 5; inline int TermQuery::extra_params_size() const { return extra_params_.size(); } @@ -13202,37 +13210,72 @@ HEntity::mutable_field_names() { return &field_names_; } -// repeated .milvus.grpc.AttrRecord attr_records = 4; -inline int HEntity::attr_records_size() const { - return attr_records_.size(); -} +// bytes attr_records = 4; inline void HEntity::clear_attr_records() { - attr_records_.Clear(); + attr_records_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::milvus::grpc::AttrRecord* HEntity::mutable_attr_records(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.HEntity.attr_records) - return attr_records_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >* -HEntity::mutable_attr_records() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.HEntity.attr_records) - return &attr_records_; -} -inline const ::milvus::grpc::AttrRecord& HEntity::attr_records(int index) const { +inline const std::string& HEntity::attr_records() const { // @@protoc_insertion_point(field_get:milvus.grpc.HEntity.attr_records) - return attr_records_.Get(index); + return attr_records_.GetNoArena(); } -inline ::milvus::grpc::AttrRecord* HEntity::add_attr_records() { - // @@protoc_insertion_point(field_add:milvus.grpc.HEntity.attr_records) - return attr_records_.Add(); +inline void HEntity::set_attr_records(const std::string& value) { + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:milvus.grpc.HEntity.attr_records) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >& -HEntity::attr_records() const { - // @@protoc_insertion_point(field_list:milvus.grpc.HEntity.attr_records) - return attr_records_; +inline void HEntity::set_attr_records(std::string&& value) { + + attr_records_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.HEntity.attr_records) +} +inline void HEntity::set_attr_records(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:milvus.grpc.HEntity.attr_records) +} +inline void HEntity::set_attr_records(const void* value, size_t size) { + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.HEntity.attr_records) +} +inline std::string* HEntity::mutable_attr_records() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.HEntity.attr_records) + return attr_records_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} +inline std::string* HEntity::release_attr_records() { + // @@protoc_insertion_point(field_release:milvus.grpc.HEntity.attr_records) + + return attr_records_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} +inline void HEntity::set_allocated_attr_records(std::string* attr_records) { + if (attr_records != nullptr) { + + } else { + + } + attr_records_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), attr_records); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.HEntity.attr_records) } -// repeated .milvus.grpc.FieldValue result_values = 5; +// int64 row_num = 5; +inline void HEntity::clear_row_num() { + row_num_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 HEntity::row_num() const { + // @@protoc_insertion_point(field_get:milvus.grpc.HEntity.row_num) + return row_num_; +} +inline void HEntity::set_row_num(::PROTOBUF_NAMESPACE_ID::int64 value) { + + row_num_ = value; + // @@protoc_insertion_point(field_set:milvus.grpc.HEntity.row_num) +} + +// repeated .milvus.grpc.FieldValue result_values = 6; inline int HEntity::result_values_size() const { return result_values_.size(); } diff --git a/core/src/grpc/milvus.proto b/core/src/grpc/milvus.proto index bbf81d2b8d..72ea11d942 100644 --- a/core/src/grpc/milvus.proto +++ b/core/src/grpc/milvus.proto @@ -307,9 +307,10 @@ message MappingList { message TermQuery { string field_name = 1; - repeated string values = 2; - float boost = 3; - repeated KeyValuePair extra_params = 4; + bytes values = 2; + int64 value_num = 3; + float boost = 4; + repeated KeyValuePair extra_params = 5; } enum CompareOperator { @@ -384,8 +385,9 @@ message HEntity { Status status = 1; int64 entity_id = 2; repeated string field_names = 3; - repeated AttrRecord attr_records = 4; - repeated FieldValue result_values = 5; + bytes attr_records = 4; + int64 row_num = 5; + repeated FieldValue result_values = 6; } message HQueryResult { diff --git a/core/src/query/GeneralQuery.h b/core/src/query/GeneralQuery.h index 604ed1c8b3..41b9d5c574 100644 --- a/core/src/query/GeneralQuery.h +++ b/core/src/query/GeneralQuery.h @@ -46,7 +46,7 @@ struct QueryColumn { struct TermQuery { std::string field_name; - std::vector field_value; + std::vector field_value; float boost; }; using TermQueryPtr = std::shared_ptr; diff --git a/core/src/server/delivery/RequestHandler.cpp b/core/src/server/delivery/RequestHandler.cpp index 8db0197a1b..3b46fad5f6 100644 --- a/core/src/server/delivery/RequestHandler.cpp +++ b/core/src/server/delivery/RequestHandler.cpp @@ -273,11 +273,11 @@ RequestHandler::HasHybridCollection(const std::shared_ptr& context, std Status RequestHandler::InsertEntity(const std::shared_ptr& context, const std::string& collection_name, - const std::string& partition_tag, - std::unordered_map>& field_values, + const std::string& partition_tag, uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas) { - BaseRequestPtr request_ptr = - InsertEntityRequest::Create(context, collection_name, partition_tag, field_values, vector_datas); + BaseRequestPtr request_ptr = InsertEntityRequest::Create(context, collection_name, partition_tag, row_num, + field_names, attr_values, vector_datas); RequestScheduler::ExecRequest(request_ptr); return request_ptr->status(); diff --git a/core/src/server/delivery/RequestHandler.h b/core/src/server/delivery/RequestHandler.h index 62ef6b4898..c52a8e250b 100644 --- a/core/src/server/delivery/RequestHandler.h +++ b/core/src/server/delivery/RequestHandler.h @@ -129,9 +129,8 @@ class RequestHandler { Status InsertEntity(const std::shared_ptr& context, const std::string& collection_name, - const std::string& partition_tag, - std::unordered_map>& field_values, - std::unordered_map& vector_datas); + const std::string& partition_tag, uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas); Status HybridSearch(const std::shared_ptr& context, context::HybridSearchContextPtr hybrid_search_context, diff --git a/core/src/server/delivery/hybrid_request/CreateHybridCollectionRequest.cpp b/core/src/server/delivery/hybrid_request/CreateHybridCollectionRequest.cpp index 44064da6bf..82b186f2fd 100644 --- a/core/src/server/delivery/hybrid_request/CreateHybridCollectionRequest.cpp +++ b/core/src/server/delivery/hybrid_request/CreateHybridCollectionRequest.cpp @@ -13,6 +13,7 @@ #include "db/Utils.h" #include "server/DBWrapper.h" #include "server/delivery/request/BaseRequest.h" +#include "server/web_impl/Constants.h" #include "utils/Log.h" #include "utils/TimeRecorder.h" #include "utils/ValidationUtil.h" @@ -78,9 +79,22 @@ CreateHybridCollectionRequest::OnExecute() { fields_schema.fields_schema_[size].collection_id_ = collection_name_; fields_schema.fields_schema_[size].field_name_ = vector_dimensions_[0].first; fields_schema.fields_schema_[size].field_type_ = (int32_t)engine::meta::hybrid::DataType::VECTOR; + auto vector_param = field_params_[size].second; + fields_schema.fields_schema_[size].field_params_ = vector_param; collection_info.dimension_ = vector_dimensions_[0].second; - // TODO(yukun): check dimension, metric_type, and assign engine_type + + if (vector_param != "") { + auto json_param = nlohmann::json::parse(vector_param); + if (json_param.contains("metric_type")) { + int32_t metric_type = json_param["metric_type"]; + collection_info.metric_type_ = metric_type; + } + if (json_param.contains("engine_type")) { + int32_t engine_type = json_param["engine_type"]; + collection_info.engine_type_ = engine_type; + } + } // step 3: create collection status = DBWrapper::DB()->CreateHybridCollection(collection_info, fields_schema); diff --git a/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.cpp b/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.cpp new file mode 100644 index 0000000000..fa3bf78486 --- /dev/null +++ b/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.cpp @@ -0,0 +1,71 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#include "server/delivery/hybrid_request/DescribeHybridCollectionRequest.h" +#include "db/Utils.h" +#include "server/DBWrapper.h" +#include "server/delivery/request/BaseRequest.h" +#include "server/web_impl/Constants.h" +#include "utils/Log.h" +#include "utils/TimeRecorder.h" +#include "utils/ValidationUtil.h" + +#include +#include +#include +#include +#include +#include + +namespace milvus { +namespace server { + +DescribeHybridCollectionRequest::DescribeHybridCollectionRequest( + const std::shared_ptr& context, const std::string& collection_name, + std::unordered_map& field_types) + : BaseRequest(context, BaseRequest::kDescribeHybridCollection), + collection_name_(collection_name), + field_types_(field_types) { +} + +BaseRequestPtr +DescribeHybridCollectionRequest::Create(const std::shared_ptr& context, + const std::string& collection_name, + std::unordered_map& field_types) { + return std::shared_ptr(new DescribeHybridCollectionRequest(context, collection_name, field_types)); +} + +Status +DescribeHybridCollectionRequest::OnExecute() { + std::string hdr = "CreateCollectionRequest(collection=" + collection_name_ + ")"; + TimeRecorderAuto rc(hdr); + + try { + engine::meta::CollectionSchema collection_schema; + engine::meta::hybrid::FieldsSchema fields_schema; + collection_schema.collection_id_ = collection_name_; + auto status = DBWrapper::DB()->DescribeHybridCollection(collection_schema, fields_schema); + if (!status.ok()) { + return status; + } + + for (auto schema : fields_schema.fields_schema_) { + field_types_.insert(std::make_pair(schema.field_name_, (engine::meta::hybrid::DataType)schema.field_type_)); + } + } catch (std::exception& ex) { + return Status(SERVER_UNEXPECTED_ERROR, ex.what()); + } + + return Status::OK(); +} + +} // namespace server +} // namespace milvus diff --git a/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.h b/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.h new file mode 100644 index 0000000000..ce6ab47aaa --- /dev/null +++ b/core/src/server/delivery/hybrid_request/DescribeHybridCollectionRequest.h @@ -0,0 +1,45 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#pragma once + +#include +#include +#include +#include +#include + +#include "server/delivery/request/BaseRequest.h" + +namespace milvus { +namespace server { + +class DescribeHybridCollectionRequest : public BaseRequest { + public: + static BaseRequestPtr + Create(const std::shared_ptr& context, const std::string& collection_name, + std::unordered_map& field_types); + + protected: + DescribeHybridCollectionRequest(const std::shared_ptr& context, + const std::string& collection_name, + std::unordered_map& field_types); + + Status + OnExecute() override; + + private: + const std::string collection_name_; + std::unordered_map& field_types_; +}; + +} // namespace server +} // namespace milvus diff --git a/core/src/server/delivery/hybrid_request/InsertEntityRequest.cpp b/core/src/server/delivery/hybrid_request/InsertEntityRequest.cpp index 46f99bf179..14ac042ad5 100644 --- a/core/src/server/delivery/hybrid_request/InsertEntityRequest.cpp +++ b/core/src/server/delivery/hybrid_request/InsertEntityRequest.cpp @@ -32,30 +32,32 @@ namespace server { InsertEntityRequest::InsertEntityRequest(const std::shared_ptr& context, const std::string& collection_name, const std::string& partition_tag, - std::unordered_map>& field_values, + uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas) : BaseRequest(context, BaseRequest::kInsertEntity), collection_name_(collection_name), partition_tag_(partition_tag), - field_values_(field_values), + row_num_(row_num), + field_names_(field_names), + attr_values_(attr_values), vector_datas_(vector_datas) { } BaseRequestPtr InsertEntityRequest::Create(const std::shared_ptr& context, const std::string& collection_name, - const std::string& partition_tag, - std::unordered_map>& field_values, + const std::string& partition_tag, uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas) { - return std::shared_ptr( - new InsertEntityRequest(context, collection_name, partition_tag, field_values, vector_datas)); + return std::shared_ptr(new InsertEntityRequest(context, collection_name, partition_tag, row_num, + field_names, attr_values, vector_datas)); } Status InsertEntityRequest::OnExecute() { try { fiu_do_on("InsertEntityRequest.OnExecute.throw_std_exception", throw std::exception()); - std::string hdr = "InsertEntityRequest(table=" + collection_name_ + ", n=" + field_values_.begin()->first + - ", partition_tag=" + partition_tag_ + ")"; + std::string hdr = "InsertEntityRequest(table=" + collection_name_ + ", partition_tag=" + partition_tag_ + ")"; TimeRecorder rc(hdr); // step 1: check arguments @@ -90,13 +92,13 @@ InsertEntityRequest::OnExecute() { std::unordered_map field_types; auto size = fields_schema.fields_schema_.size(); - for (uint64_t i = 0; i < size; ++i) { - if (fields_schema.fields_schema_[i].field_type_ == (int32_t)engine::meta::hybrid::DataType::VECTOR) { - continue; + for (auto field_name : field_names_) { + for (uint64_t i = 0; i < size; ++i) { + if (fields_schema.fields_schema_[i].field_name_ == field_name) { + field_types.insert(std::make_pair( + field_name, (engine::meta::hybrid::DataType)fields_schema.fields_schema_[i].field_type_)); + } } - field_types.insert( - std::make_pair(fields_schema.fields_schema_[i].field_name_, - (engine::meta::hybrid::DataType)fields_schema.fields_schema_[i].field_type_)); } // step 3: check table flag @@ -128,46 +130,18 @@ InsertEntityRequest::OnExecute() { // step 4: some metric type doesn't support float vectors // TODO(yukun): check dimension and metric_type - // for (uint64_t i = 0; i (vector_datas_it->second.vector_count_); engine::Entity entity; - entity.entity_count_ = vector_datas_it->second.vector_count_; + entity.entity_count_ = row_num_; - entity.attr_data_ = field_values_; + entity.attr_value_ = attr_values_; entity.vector_data_.insert(std::make_pair(vector_datas_it->first, vector_datas_it->second)); rc.RecordSection("prepare vectors data"); - status = DBWrapper::DB()->InsertEntities(collection_name_, partition_tag_, entity, field_types); + status = DBWrapper::DB()->InsertEntities(collection_name_, partition_tag_, field_names_, entity, field_types); fiu_do_on("InsertRequest.OnExecute.insert_fail", status = Status(milvus::SERVER_UNEXPECTED_ERROR, "")); if (!status.ok()) { return status; diff --git a/core/src/server/delivery/hybrid_request/InsertEntityRequest.h b/core/src/server/delivery/hybrid_request/InsertEntityRequest.h index c2517b7714..3970a4ef08 100644 --- a/core/src/server/delivery/hybrid_request/InsertEntityRequest.h +++ b/core/src/server/delivery/hybrid_request/InsertEntityRequest.h @@ -25,13 +25,13 @@ class InsertEntityRequest : public BaseRequest { public: static BaseRequestPtr Create(const std::shared_ptr& context, const std::string& collection_name, - const std::string& partition_tag, std::unordered_map>& field_values, - std::unordered_map& vector_datas); + const std::string& partition_tag, uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas); protected: InsertEntityRequest(const std::shared_ptr& context, const std::string& collection_name, - const std::string& partition_tag, - std::unordered_map>& field_values, + const std::string& partition_tag, uint64_t& row_num, std::vector& field_names, + std::vector& attr_values, std::unordered_map& vector_datas); Status @@ -40,7 +40,9 @@ class InsertEntityRequest : public BaseRequest { private: const std::string collection_name_; const std::string partition_tag_; - std::unordered_map> field_values_; + uint64_t row_num_; + std::vector& field_names_; + std::vector& attr_values_; std::unordered_map& vector_datas_; }; diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 933886dddb..076f23a140 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -805,18 +805,19 @@ GrpcRequestHandler::InsertEntity(::grpc::ServerContext* context, const ::milvus: ::milvus::grpc::HEntityIDs* response) { CHECK_NULLPTR_RETURN(request); - std::unordered_map> attr_values; + auto attr_size = request->entities().attr_records().size(); + std::vector attr_values(attr_size, 0); std::unordered_map vector_datas; - auto attr_size = request->entities().attr_records_size(); - for (uint64_t i = 0; i < attr_size; ++i) { - std::vector values; - auto record_size = request->entities().attr_records(i).value_size(); - values.resize(record_size); - for (uint64_t j = 0; j < record_size; ++j) { - values[j] = request->entities().attr_records(i).value(j); - } - attr_values.insert(std::make_pair(request->entities().field_names(i), values)); + memcpy(attr_values.data(), request->entities().attr_records().data(), attr_size); + + uint64_t row_num = request->entities().row_num(); + + std::vector field_names; + auto field_size = request->entities().field_names_size(); + field_names.resize(field_size - 1); + for (uint64_t i = 0; i < field_size - 1; ++i) { + field_names[i] = request->entities().field_names(i); } auto vector_size = request->entities().result_values_size(); @@ -824,13 +825,13 @@ GrpcRequestHandler::InsertEntity(::grpc::ServerContext* context, const ::milvus: engine::VectorsData vectors; CopyRowRecords(request->entities().result_values(i).vector_value().value(), request->entity_id_array(), vectors); - vector_datas.insert(std::make_pair(request->entities().field_names(attr_size + i), vectors)); + vector_datas.insert(std::make_pair(request->entities().field_names(field_size - 1), vectors)); } std::string collection_name = request->collection_name(); std::string partition_tag = request->partition_tag(); - Status status = - request_handler_.InsertEntity(GetContext(context), collection_name, partition_tag, attr_values, vector_datas); + Status status = request_handler_.InsertEntity(GetContext(context), collection_name, partition_tag, row_num, + field_names, attr_values, vector_datas); response->mutable_entity_id_array()->Resize(static_cast(vector_datas.begin()->second.id_array_.size()), 0); memcpy(response->mutable_entity_id_array()->mutable_data(), vector_datas.begin()->second.id_array_.data(), @@ -841,14 +842,12 @@ GrpcRequestHandler::InsertEntity(::grpc::ServerContext* context, const ::milvus: } void -DeSerialization(const ::milvus::grpc::GeneralQuery& general_query, query::BooleanQueryPtr boolean_clause) { +DeSerialization(const ::milvus::grpc::GeneralQuery& general_query, query::BooleanQueryPtr& boolean_clause) { if (general_query.has_boolean_query()) { - // boolean_clause->SetOccur((query::Occur)general_query.boolean_query().occur()); - + boolean_clause->SetOccur((query::Occur)general_query.boolean_query().occur()); for (uint64_t i = 0; i < general_query.boolean_query().general_query_size(); ++i) { if (general_query.boolean_query().general_query(i).has_boolean_query()) { - query::BooleanQueryPtr query = - std::make_shared((query::Occur)(general_query.boolean_query().occur())); + query::BooleanQueryPtr query = std::make_shared(); DeSerialization(general_query.boolean_query().general_query(i), query); boolean_clause->AddBooleanQuery(query); } else { @@ -858,10 +857,9 @@ DeSerialization(const ::milvus::grpc::GeneralQuery& general_query, query::Boolea query::TermQueryPtr term_query = std::make_shared(); term_query->field_name = query.term_query().field_name(); term_query->boost = query.term_query().boost(); - term_query->field_value.resize(query.term_query().values_size()); - for (uint64_t j = 0; j < query.term_query().values_size(); ++j) { - term_query->field_value[j] = query.term_query().values(j); - } + auto size = query.term_query().values().size(); + term_query->field_value.resize(size); + memcpy(term_query->field_value.data(), query.term_query().values().data(), size); leaf_query->term_query = term_query; boolean_clause->AddLeafQuery(leaf_query); } diff --git a/core/unittest/db/test_hybrid_db.cpp b/core/unittest/db/test_hybrid_db.cpp index 6b10d17cf4..d015333d20 100644 --- a/core/unittest/db/test_hybrid_db.cpp +++ b/core/unittest/db/test_hybrid_db.cpp @@ -88,19 +88,28 @@ BuildEntity(uint64_t n, uint64_t batch_index, milvus::engine::Entity& entity) { vectors.id_array_.push_back(n * batch_index + i); } entity.vector_data_.insert(std::make_pair("field_3", vectors)); - std::vector value_0, value_1, value_2; + std::vector value_0; + std::vector value_1; + std::vector value_2; value_0.resize(n); value_1.resize(n); value_2.resize(n); for (uint64_t i = 0; i < n; ++i) { - value_0[i] = std::to_string(i); - value_1[i] = std::to_string(i + n); - value_2[i] = std::to_string((i + 100) / (n + 1)); + value_0[i] = i; + value_1[i] = i + n; + value_2[i] = (float)((i + 100) / (n + 1)); } entity.entity_count_ = n; - entity.attr_data_.insert(std::make_pair("field_0", value_0)); - entity.attr_data_.insert(std::make_pair("field_1", value_1)); - entity.attr_data_.insert(std::make_pair("field_2", value_2)); + size_t attr_size = n * (sizeof(int32_t) + sizeof(float) + sizeof(int64_t)); + std::vector attr_value(attr_size, 0); + size_t offset = 0; + memcpy(attr_value.data(), value_0.data(), n * sizeof(int32_t)); + offset += n * sizeof(int32_t); + memcpy(attr_value.data() + offset, value_1.data(), n * sizeof(int64_t)); + offset += n * sizeof(int64_t); + memcpy(attr_value.data() + offset, value_2.data(), n * sizeof(float)); + + entity.attr_value_ = attr_value; } void @@ -113,8 +122,12 @@ ConstructGeneralQuery(milvus::query::GeneralQueryPtr& general_query) { left->bin->relation = milvus::query::QueryRelation::AND; auto term_query = std::make_shared(); + std::vector field_value = {10, 20, 30, 40, 50}; + std::vector term_value; + term_value.resize(5 * sizeof(int64_t)); + memcpy(term_value.data(), field_value.data(), 5 * sizeof(int64_t)); term_query->field_name = "field_0"; - term_query->field_value = {"10", "20", "30", "40", "50"}; + term_query->field_value = term_value; term_query->boost = 1; auto range_query = std::make_shared(); @@ -174,22 +187,24 @@ TEST_F(DBTest, HYBRID_DB_TEST) { milvus::engine::Entity entity; BuildEntity(qb, 0, entity); - stat = db_->InsertEntities(TABLE_NAME, "", entity, attr_type); + std::vector field_names = {"field_0", "field_1", "field_2"}; + + stat = db_->InsertEntities(TABLE_NAME, "", field_names, entity, attr_type); ASSERT_TRUE(stat.ok()); stat = db_->Flush(); ASSERT_TRUE(stat.ok()); -// milvus::engine::CollectionIndex index; -// index.engine_type_ = (int)milvus::engine::EngineType::FAISS_IDMAP; -// index.extra_params_ = {{"nlist", 16384}}; -// -// stat = db_->CreateIndex(TABLE_NAME, index); -// ASSERT_TRUE(stat.ok()); + // milvus::engine::CollectionIndex index; + // index.engine_type_ = (int)milvus::engine::EngineType::FAISS_IDMAP; + // index.extra_params_ = {{"nlist", 16384}}; + // + // stat = db_->CreateIndex(TABLE_NAME, index); + // ASSERT_TRUE(stat.ok()); } TEST_F(DBTest, HYBRID_SEARCH_TEST) { -//#ifndef MILVUS_GPU_VERSION + //#ifndef MILVUS_GPU_VERSION milvus::engine::meta::CollectionSchema collection_info; milvus::engine::meta::hybrid::FieldsSchema fields_info; std::unordered_map attr_type; @@ -208,7 +223,9 @@ TEST_F(DBTest, HYBRID_SEARCH_TEST) { milvus::engine::Entity entity; BuildEntity(qb, 0, entity); - stat = db_->InsertEntities(TABLE_NAME, "", entity, attr_type); + std::vector field_names = {"field_0", "field_1", "field_2"}; + + stat = db_->InsertEntities(TABLE_NAME, "", field_names, entity, attr_type); ASSERT_TRUE(stat.ok()); stat = db_->Flush(); @@ -226,7 +243,7 @@ TEST_F(DBTest, HYBRID_SEARCH_TEST) { stat = db_->HybridQuery(dummy_context_, TABLE_NAME, tags, hybrid_context, general_query, attr_type, nq, result_ids, result_distances); ASSERT_TRUE(stat.ok()); -//#endif + //#endif } TEST_F(DBTest, COMPACT_TEST) { @@ -248,7 +265,9 @@ TEST_F(DBTest, COMPACT_TEST) { milvus::engine::Entity entity; BuildEntity(vector_count, 0, entity); - stat = db_->InsertEntities(TABLE_NAME, "", entity, attr_type); + std::vector field_names = {"field_0", "field_1", "field_2"}; + + stat = db_->InsertEntities(TABLE_NAME, "", field_names, entity, attr_type); ASSERT_TRUE(stat.ok()); stat = db_->Flush(); diff --git a/core/unittest/server/test_rpc.cpp b/core/unittest/server/test_rpc.cpp index ec240208ac..5c9f4ff417 100644 --- a/core/unittest/server/test_rpc.cpp +++ b/core/unittest/server/test_rpc.cpp @@ -977,22 +977,18 @@ TEST_F(RpcHandlerTest, HYBRID_TEST) { milvus::grpc::HEntityIDs entity_ids; insert_param.set_collection_name("test_hybrid"); - std::vector numerica_value; - numerica_value.resize(row_num); - for (uint64_t i = 0; i < row_num; i++) { - numerica_value[i] = std::to_string(i); - } auto entity = insert_param.mutable_entities(); auto field_name_0 = entity->add_field_names(); *field_name_0 = "field_0"; auto field_name_1 = entity->add_field_names(); *field_name_1 = "field_1"; - auto records_0 = entity->add_attr_records(); - for (auto value : numerica_value) { - auto record = records_0->add_value(); - *record = value; + entity->set_row_num(row_num); + std::vector field_value(row_num, 0); + for (uint64_t i = 0; i < row_num; i++) { + field_value[i] = i; } + entity->set_attr_records(field_value.data(), row_num * sizeof(int64_t)); std::vector> vector_field; vector_field.resize(row_num); @@ -1012,7 +1008,6 @@ TEST_F(RpcHandlerTest, HYBRID_TEST) { handler->InsertEntity(&context, &insert_param, &entity_ids); ASSERT_EQ(entity_ids.entity_id_array_size(), row_num); - // TODO(yukun): Hybrid Search uint64_t nq = 10; uint64_t topk = 10; milvus::grpc::HSearchParam search_param; @@ -1023,11 +1018,13 @@ TEST_F(RpcHandlerTest, HYBRID_TEST) { auto boolean_query_2 = general_query_1->mutable_boolean_query(); auto term_query = boolean_query_2->add_general_query()->mutable_term_query(); term_query->set_field_name("field_0"); + std::vector term_value(nq, 0); for (uint64_t i = 0; i < nq; ++i) { - auto value = std::to_string(i + nq); - auto term = term_query->add_values(); - *term = value; + term_value[i] = i + nq; } + term_query->set_value_num(nq); + term_query->set_values(term_value.data(), nq * sizeof(int64_t)); + auto vector_query = boolean_query_2->add_general_query()->mutable_vector_query(); vector_query->set_field_name("field_1"); vector_query->set_topk(topk); diff --git a/sdk/examples/CMakeLists.txt b/sdk/examples/CMakeLists.txt index 05dc692866..9c4ae30a4d 100644 --- a/sdk/examples/CMakeLists.txt +++ b/sdk/examples/CMakeLists.txt @@ -17,3 +17,4 @@ add_subdirectory(simple) add_subdirectory(partition) add_subdirectory(binary_vector) add_subdirectory(qps) +add_subdirectory(hybrid) diff --git a/sdk/examples/hybrid/CMakeLists.txt b/sdk/examples/hybrid/CMakeLists.txt new file mode 100644 index 0000000000..10c89899fd --- /dev/null +++ b/sdk/examples/hybrid/CMakeLists.txt @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# Copyright (C) 2019-2020 Zilliz. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the License for the specific language governing permissions and limitations under the License. +#------------------------------------------------------------------------------- + +aux_source_directory(src src_files) + +add_executable(sdk_hybrid + main.cpp + ${src_files} + ${util_files} + ) + +target_link_libraries(sdk_hybrid + milvus_sdk + pthread + ) + +install(TARGETS sdk_hybrid DESTINATION bin) diff --git a/sdk/examples/hybrid/main.cpp b/sdk/examples/hybrid/main.cpp new file mode 100644 index 0000000000..ab8efd11cb --- /dev/null +++ b/sdk/examples/hybrid/main.cpp @@ -0,0 +1,73 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#include +#include +#include +#include + +#include "src/ClientTest.h" + +void +print_help(const std::string& app_name); + +int +main(int argc, char* argv[]) { + printf("Client start...\n"); + + std::string app_name = basename(argv[0]); + static struct option long_options[] = {{"server", optional_argument, nullptr, 's'}, + {"port", optional_argument, nullptr, 'p'}, + {"help", no_argument, nullptr, 'h'}, + {nullptr, 0, nullptr, 0}}; + + int option_index = 0; + std::string address = "127.0.0.1", port = "19530"; + app_name = argv[0]; + + int value; + while ((value = getopt_long(argc, argv, "s:p:h", long_options, &option_index)) != -1) { + switch (value) { + case 's': { + char* address_ptr = strdup(optarg); + address = address_ptr; + free(address_ptr); + break; + } + case 'p': { + char* port_ptr = strdup(optarg); + port = port_ptr; + free(port_ptr); + break; + } + case 'h': + default: + print_help(app_name); + return EXIT_SUCCESS; + } + } + + ClientTest test(address, port); + test.TestHybrid(); + + printf("Client stop...\n"); + return 0; +} + +void +print_help(const std::string& app_name) { + printf("\n Usage: %s [OPTIONS]\n\n", app_name.c_str()); + printf(" Options:\n"); + printf(" -s --server Server address, default 127.0.0.1\n"); + printf(" -p --port Server port, default 19530\n"); + printf(" -h --help Print help information\n"); + printf("\n"); +} diff --git a/sdk/examples/hybrid/src/ClientTest.cpp b/sdk/examples/hybrid/src/ClientTest.cpp new file mode 100644 index 0000000000..0fbf17addc --- /dev/null +++ b/sdk/examples/hybrid/src/ClientTest.cpp @@ -0,0 +1,153 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#include "examples/hybrid/src/ClientTest.h" +#include "examples/utils/TimeRecorder.h" +#include "examples/utils/Utils.h" +#include "include/BooleanQuery.h" +#include "include/MilvusApi.h" + +#include +#include +#include +#include +#include + +namespace { + +const char* COLLECTION_NAME = milvus_sdk::Utils::GenCollectionName().c_str(); + +constexpr int64_t COLLECTION_DIMENSION = 512; +constexpr int64_t COLLECTION_INDEX_FILE_SIZE = 1024; +constexpr milvus::MetricType COLLECTION_METRIC_TYPE = milvus::MetricType::L2; +constexpr int64_t BATCH_ENTITY_COUNT = 100000; +constexpr int64_t NQ = 5; +constexpr int64_t TOP_K = 10; +constexpr int64_t NPROBE = 32; +constexpr int64_t SEARCH_TARGET = BATCH_ENTITY_COUNT / 2; // change this value, result is different +constexpr int64_t ADD_ENTITY_LOOP = 5; +constexpr milvus::IndexType INDEX_TYPE = milvus::IndexType::IVFSQ8; +constexpr int32_t NLIST = 16384; +constexpr uint64_t FIELD_NUM = 3; + +} // namespace + +ClientTest::ClientTest(const std::string& address, const std::string& port) { + milvus::ConnectParam param = {address, port}; + conn_ = milvus::Connection::Create(); + milvus::Status stat = conn_->Connect(param); + std::cout << "Connect function call status: " << stat.message() << std::endl; +} + +ClientTest::~ClientTest() { + milvus::Status stat = milvus::Connection::Destroy(conn_); + std::cout << "Destroy connection function call status: " << stat.message() << std::endl; +} + +void +ClientTest::CreateHybridCollection(const std::string& collection_name) { + milvus::FieldPtr field_ptr1 = std::make_shared(); + milvus::FieldPtr field_ptr2 = std::make_shared(); + milvus::VectorFieldPtr vec_field_ptr = std::make_shared(); + field_ptr1->field_type = milvus::DataType::INT64; + field_ptr1->field_name = "field_1"; + field_ptr2->field_type = milvus::DataType::FLOAT; + field_ptr2->field_name = "field_2"; + vec_field_ptr->field_type = milvus::DataType::VECTOR; + vec_field_ptr->field_name = "field_3"; + vec_field_ptr->dimension = 128; + + std::vector numerica_fields; + std::vector vector_fields; + numerica_fields.emplace_back(field_ptr1); + numerica_fields.emplace_back(field_ptr2); + vector_fields.emplace_back(vec_field_ptr); + + milvus::HMapping mapping = {collection_name, numerica_fields, vector_fields}; + milvus::Status stat = conn_->CreateHybridCollection(mapping); + std::cout << "CreateHybridCollection function call status: " << stat.message() << std::endl; +} + +void +ClientTest::Flush(const std::string& collection_name) { + milvus_sdk::TimeRecorder rc("Flush"); + milvus::Status stat = conn_->FlushCollection(collection_name); + std::cout << "FlushCollection function call status: " << stat.message() << std::endl; +} + +void +ClientTest::InsertHybridEntities(std::string& collection_name, int64_t row_num) { + std::unordered_map> numerica_value; + std::vector value1; + std::vector value2; + value1.resize(row_num); + value2.resize(row_num); + for (uint64_t i = 0; i < row_num; ++i) { + value1[i] = i; + value2[i] = i + row_num; + } + + std::vector numerica1(row_num * sizeof(int64_t), 0); + std::vector numerica2(row_num * sizeof(double), 0); + memcpy(numerica1.data(), value1.data(), row_num * sizeof(int64_t)); + memcpy(numerica2.data(), value2.data(), row_num * sizeof(double)); + + numerica_value.insert(std::make_pair("field_1", numerica1)); + numerica_value.insert(std::make_pair("field_2", numerica2)); + + std::unordered_map> vector_value; + std::vector entity_array; + std::vector record_ids; + { // generate vectors + milvus_sdk::Utils::BuildEntities(0, row_num, entity_array, record_ids, 128); + } + + vector_value.insert(std::make_pair("field_3", entity_array)); + milvus::HEntity entity = {row_num, numerica_value, vector_value}; + std::vector id_array; + milvus::Status status = conn_->InsertEntity(collection_name, "", entity, id_array); + std::cout << "InsertHybridEntities function call status: " << status.message() << std::endl; +} + +void +ClientTest::HybridSearch(std::string& collection_name) { + std::vector partition_tags; + milvus::TopKQueryResult topk_query_result; + + auto leaf_queries = milvus_sdk::Utils::GenLeafQuery(); + + // must + auto must_clause = std::make_shared(milvus::Occur::MUST); + must_clause->AddLeafQuery(leaf_queries[0]); + must_clause->AddLeafQuery(leaf_queries[1]); + must_clause->AddLeafQuery(leaf_queries[2]); + + auto query_clause = std::make_shared(); + query_clause->AddBooleanQuery(must_clause); + + std::string extra_params; + milvus::Status status = + conn_->HybridSearch(collection_name, partition_tags, query_clause, extra_params, topk_query_result); + for (uint64_t i = 0; i < topk_query_result.size(); ++i) { + std::cout << topk_query_result[i].ids[0] << " --------- " << topk_query_result[i].distances[0] << std::endl; + } + std::cout << "HybridSearch function call status: " << status.message() << std::endl; +} + +void +ClientTest::TestHybrid() { + std::string collection_name = "HYBRID_TEST"; + CreateHybridCollection(collection_name); + InsertHybridEntities(collection_name, 1000); + Flush(collection_name); + sleep(2); + HybridSearch(collection_name); +} \ No newline at end of file diff --git a/sdk/examples/hybrid/src/ClientTest.h b/sdk/examples/hybrid/src/ClientTest.h new file mode 100644 index 0000000000..7ac2dba4c0 --- /dev/null +++ b/sdk/examples/hybrid/src/ClientTest.h @@ -0,0 +1,46 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#pragma once + +#include +#include +#include +#include + +#include + +class ClientTest { + public: + ClientTest(const std::string&, const std::string&); + ~ClientTest(); + + void + TestHybrid(); + + private: + void + CreateHybridCollection(const std::string& collection_name); + + void + Flush(const std::string&); + + void + InsertHybridEntities(std::string&, int64_t); + + void + HybridSearch(std::string&); + + private: + std::shared_ptr conn_; + std::vector> search_entity_array_; + std::vector search_id_array_; +}; diff --git a/sdk/examples/simple/main.cpp b/sdk/examples/simple/main.cpp index 57e4320cbc..88c362f724 100644 --- a/sdk/examples/simple/main.cpp +++ b/sdk/examples/simple/main.cpp @@ -56,8 +56,7 @@ main(int argc, char* argv[]) { } ClientTest test(address, port); -// test.Test(); - test.TestHybrid(); + test.Test(); printf("Client stop...\n"); return 0; diff --git a/sdk/examples/simple/src/ClientTest.cpp b/sdk/examples/simple/src/ClientTest.cpp index 222dcc6a9e..981e5db1fb 100644 --- a/sdk/examples/simple/src/ClientTest.cpp +++ b/sdk/examples/simple/src/ClientTest.cpp @@ -228,86 +228,6 @@ ClientTest::DropCollection(const std::string& collection_name) { std::cout << "DropCollection function call status: " << stat.message() << std::endl; } -void -ClientTest::CreateHybridCollection(const std::string& collection_name) { - milvus::FieldPtr field_ptr1 = std::make_shared(); - milvus::FieldPtr field_ptr2 = std::make_shared(); - milvus::VectorFieldPtr vec_field_ptr = std::make_shared(); - field_ptr1->field_type = milvus::DataType::INT64; - field_ptr1->field_name = "field_1"; - field_ptr2->field_type = milvus::DataType::FLOAT; - field_ptr2->field_name = "field_2"; - vec_field_ptr->field_type = milvus::DataType::VECTOR; - vec_field_ptr->field_name = "field_3"; - vec_field_ptr->dimension = 128; - - std::vector numerica_fields; - std::vector vector_fields; - numerica_fields.emplace_back(field_ptr1); - numerica_fields.emplace_back(field_ptr2); - vector_fields.emplace_back(vec_field_ptr); - - milvus::HMapping mapping = {collection_name, numerica_fields, vector_fields}; - milvus::Status stat = conn_->CreateHybridCollection(mapping); - std::cout << "CreateHybridCollection function call status: " << stat.message() << std::endl; -} - -void -ClientTest::InsertHybridEntities(std::string& collection_name, int64_t row_num) { - std::unordered_map> numerica_value; - std::vector value1, value2; - value1.resize(row_num); - value2.resize(row_num); - for (uint64_t i = 0; i < row_num; ++i) { - value1[i] = std::to_string(i); - value2[i] = std::to_string(i + row_num); - } - numerica_value.insert(std::make_pair("field_1", value1)); - numerica_value.insert(std::make_pair("field_2", value2)); - - std::unordered_map> vector_value; - std::vector entity_array; - std::vector record_ids; - { // generate vectors - milvus_sdk::Utils::BuildEntities(0, - row_num, - entity_array, - record_ids, - 128); - } - - vector_value.insert(std::make_pair("field_3", entity_array)); - milvus::HEntity entity = {numerica_value, vector_value}; - std::vector id_array; - milvus::Status status = conn_->InsertEntity(collection_name, "", entity, id_array); - std::cout << "InsertHybridEntities function call status: " << status.message() << std::endl; -} - -void -ClientTest::HybridSearch(std::string& collection_name) { - std::vector partition_tags; - milvus::TopKQueryResult topk_query_result; - - auto leaf_queries = milvus_sdk::Utils::GenLeafQuery(); - - //must - auto must_clause = std::make_shared(milvus::Occur::MUST); - must_clause->AddLeafQuery(leaf_queries[0]); - must_clause->AddLeafQuery(leaf_queries[1]); - must_clause->AddLeafQuery(leaf_queries[2]); - - auto query_clause = std::make_shared(); - query_clause->AddBooleanQuery(must_clause); - - std::string extra_params; - milvus::Status - status = conn_->HybridSearch(collection_name, partition_tags, query_clause, extra_params, topk_query_result); - for (uint64_t i = 0; i < topk_query_result.size(); ++i) { - std::cout << topk_query_result[i].ids[0] << " --------- " << topk_query_result[i].distances[0] << std::endl; - } - std::cout << "HybridSearch function call status: " << status.message() << std::endl; -} - void ClientTest::Test() { std::string collection_name = COLLECTION_NAME; @@ -344,13 +264,3 @@ ClientTest::Test() { DropIndex(collection_name); DropCollection(collection_name); } - -void -ClientTest::TestHybrid() { - std::string collection_name = "HYBRID_TEST"; - CreateHybridCollection(collection_name); - InsertHybridEntities(collection_name, 1000); - Flush(collection_name); -// SearchEntities(collection_name, ) - HybridSearch(collection_name); -} diff --git a/sdk/examples/simple/src/ClientTest.h b/sdk/examples/simple/src/ClientTest.h index e9e2b2d514..b2a2621019 100644 --- a/sdk/examples/simple/src/ClientTest.h +++ b/sdk/examples/simple/src/ClientTest.h @@ -26,9 +26,6 @@ class ClientTest { void Test(); - void - TestHybrid(); - private: void ShowServerVersion(); @@ -81,17 +78,6 @@ class ClientTest { void DropCollection(const std::string&); - /*******************************New Interface**********************************/ - - void - CreateHybridCollection(const std::string& collection_name); - - void - InsertHybridEntities(std::string&, int64_t); - - void - HybridSearch(std::string&); - private: std::shared_ptr conn_; std::vector> search_entity_array_; diff --git a/sdk/examples/utils/Utils.cpp b/sdk/examples/utils/Utils.cpp index 71b2c49379..13d437e057 100644 --- a/sdk/examples/utils/Utils.cpp +++ b/sdk/examples/utils/Utils.cpp @@ -262,14 +262,17 @@ void ConstructVector(uint64_t nq, uint64_t dimension, std::vector Utils::GenLeafQuery() { //Construct TermQuery - std::vector field_value; - field_value.resize(1000); - for (uint64_t i = 0; i < 1000; ++i) { - field_value[i] = std::to_string(i); + uint64_t row_num = 1000; + std::vector field_value; + field_value.resize(row_num); + for (uint64_t i = 0; i < row_num; ++i) { + field_value[i] = i; } + std::vector term_value(row_num * sizeof(int64_t)); + memcpy(term_value.data(), field_value.data(), row_num * sizeof(int64_t)); milvus::TermQueryPtr tq = std::make_shared(); tq->field_name = "field_1"; - tq->field_value = field_value; + tq->field_value = term_value; //Construct RangeQuery milvus::CompareExpr ce1 = {milvus::CompareOperator::LTE, "10000"}, ce2 = {milvus::CompareOperator::GTE, "1"}; diff --git a/sdk/grpc-gen/gen-milvus/milvus.pb.cc b/sdk/grpc-gen/gen-milvus/milvus.pb.cc index f5fc22f6d1..c9b59523fe 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.pb.cc +++ b/sdk/grpc-gen/gen-milvus/milvus.pb.cc @@ -15,13 +15,12 @@ #include // @@protoc_insertion_point(includes) #include -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AttrRecord_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_BooleanQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CompareExpr_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_FieldParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FieldType_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FieldValue_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_HEntity_milvus_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HEntity_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HSearchParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Mapping_milvus_2eproto; @@ -521,10 +520,9 @@ static void InitDefaultsscc_info_HEntity_milvus_2eproto() { ::milvus::grpc::HEntity::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_HEntity_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsscc_info_HEntity_milvus_2eproto}, { +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HEntity_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_HEntity_milvus_2eproto}, { &scc_info_Status_status_2eproto.base, - &scc_info_AttrRecord_milvus_2eproto.base, &scc_info_FieldValue_milvus_2eproto.base,}}; static void InitDefaultsscc_info_HEntityIDs_milvus_2eproto() { @@ -1266,6 +1264,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, field_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, values_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, value_num_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, boost_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::TermQuery, extra_params_), ~0u, // no _has_bits_ @@ -1342,6 +1341,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, entity_id_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, field_names_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, attr_records_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, row_num_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::HEntity, result_values_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::HQueryResult, _internal_metadata_), @@ -1436,22 +1436,22 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 242, -1, sizeof(::milvus::grpc::Mapping)}, { 251, -1, sizeof(::milvus::grpc::MappingList)}, { 258, -1, sizeof(::milvus::grpc::TermQuery)}, - { 267, -1, sizeof(::milvus::grpc::CompareExpr)}, - { 274, -1, sizeof(::milvus::grpc::RangeQuery)}, - { 283, -1, sizeof(::milvus::grpc::VectorQuery)}, - { 293, -1, sizeof(::milvus::grpc::BooleanQuery)}, - { 300, -1, sizeof(::milvus::grpc::GeneralQuery)}, - { 310, -1, sizeof(::milvus::grpc::HSearchParam)}, - { 319, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, - { 326, -1, sizeof(::milvus::grpc::AttrRecord)}, - { 332, -1, sizeof(::milvus::grpc::HEntity)}, - { 342, -1, sizeof(::milvus::grpc::HQueryResult)}, - { 352, -1, sizeof(::milvus::grpc::HInsertParam)}, - { 362, -1, sizeof(::milvus::grpc::HEntityIdentity)}, - { 369, -1, sizeof(::milvus::grpc::HEntityIDs)}, - { 376, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, - { 383, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, - { 390, -1, sizeof(::milvus::grpc::HIndexParam)}, + { 268, -1, sizeof(::milvus::grpc::CompareExpr)}, + { 275, -1, sizeof(::milvus::grpc::RangeQuery)}, + { 284, -1, sizeof(::milvus::grpc::VectorQuery)}, + { 294, -1, sizeof(::milvus::grpc::BooleanQuery)}, + { 301, -1, sizeof(::milvus::grpc::GeneralQuery)}, + { 311, -1, sizeof(::milvus::grpc::HSearchParam)}, + { 320, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, + { 327, -1, sizeof(::milvus::grpc::AttrRecord)}, + { 333, -1, sizeof(::milvus::grpc::HEntity)}, + { 344, -1, sizeof(::milvus::grpc::HQueryResult)}, + { 354, -1, sizeof(::milvus::grpc::HInsertParam)}, + { 364, -1, sizeof(::milvus::grpc::HEntityIdentity)}, + { 371, -1, sizeof(::milvus::grpc::HEntityIDs)}, + { 378, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, + { 385, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, + { 392, -1, sizeof(::milvus::grpc::HIndexParam)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -1589,135 +1589,136 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "\n\006fields\030\004 \003(\0132\027.milvus.grpc.FieldParam\"" "^\n\013MappingList\022#\n\006status\030\001 \001(\0132\023.milvus." "grpc.Status\022*\n\014mapping_list\030\002 \003(\0132\024.milv" - "us.grpc.Mapping\"o\n\tTermQuery\022\022\n\nfield_na" - "me\030\001 \001(\t\022\016\n\006values\030\002 \003(\t\022\r\n\005boost\030\003 \001(\002\022" - "/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.KeyV" - "aluePair\"N\n\013CompareExpr\022.\n\010operator\030\001 \001(" - "\0162\034.milvus.grpc.CompareOperator\022\017\n\007opera" - "nd\030\002 \001(\t\"\213\001\n\nRangeQuery\022\022\n\nfield_name\030\001 " - "\001(\t\022)\n\007operand\030\002 \003(\0132\030.milvus.grpc.Compa" - "reExpr\022\r\n\005boost\030\003 \001(\002\022/\n\014extra_params\030\004 " - "\003(\0132\031.milvus.grpc.KeyValuePair\"\236\001\n\013Vecto" - "rQuery\022\022\n\nfield_name\030\001 \001(\t\022\023\n\013query_boos" - "t\030\002 \001(\002\022\'\n\007records\030\003 \003(\0132\026.milvus.grpc.R" - "owRecord\022\014\n\004topk\030\004 \001(\003\022/\n\014extra_params\030\005" - " \003(\0132\031.milvus.grpc.KeyValuePair\"c\n\014Boole" - "anQuery\022!\n\005occur\030\001 \001(\0162\022.milvus.grpc.Occ" - "ur\0220\n\rgeneral_query\030\002 \003(\0132\031.milvus.grpc." - "GeneralQuery\"\333\001\n\014GeneralQuery\0222\n\rboolean" - "_query\030\001 \001(\0132\031.milvus.grpc.BooleanQueryH" - "\000\022,\n\nterm_query\030\002 \001(\0132\026.milvus.grpc.Term" - "QueryH\000\022.\n\013range_query\030\003 \001(\0132\027.milvus.gr" - "pc.RangeQueryH\000\0220\n\014vector_query\030\004 \001(\0132\030." - "milvus.grpc.VectorQueryH\000B\007\n\005query\"\247\001\n\014H" - "SearchParam\022\027\n\017collection_name\030\001 \001(\t\022\033\n\023" - "partition_tag_array\030\002 \003(\t\0220\n\rgeneral_que" - "ry\030\003 \001(\0132\031.milvus.grpc.GeneralQuery\022/\n\014e" - "xtra_params\030\004 \003(\0132\031.milvus.grpc.KeyValue" - "Pair\"c\n\026HSearchInSegmentsParam\022\030\n\020segmen" - "t_id_array\030\001 \003(\t\022/\n\014search_param\030\002 \001(\0132\031" - ".milvus.grpc.HSearchParam\"\033\n\nAttrRecord\022" - "\r\n\005value\030\001 \003(\t\"\265\001\n\007HEntity\022#\n\006status\030\001 \001" - "(\0132\023.milvus.grpc.Status\022\021\n\tentity_id\030\002 \001" - "(\003\022\023\n\013field_names\030\003 \003(\t\022-\n\014attr_records\030" - "\004 \003(\0132\027.milvus.grpc.AttrRecord\022.\n\rresult" - "_values\030\005 \003(\0132\027.milvus.grpc.FieldValue\"\215" - "\001\n\014HQueryResult\022#\n\006status\030\001 \001(\0132\023.milvus" - ".grpc.Status\022&\n\010entities\030\002 \003(\0132\024.milvus." - "grpc.HEntity\022\017\n\007row_num\030\003 \001(\003\022\r\n\005score\030\004" - " \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014HInsertParam\022" - "\027\n\017collection_name\030\001 \001(\t\022\025\n\rpartition_ta" - "g\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024.milvus.grpc." - "HEntity\022\027\n\017entity_id_array\030\004 \003(\003\022/\n\014extr" - "a_params\030\005 \003(\0132\031.milvus.grpc.KeyValuePai" - "r\"6\n\017HEntityIdentity\022\027\n\017collection_name\030" - "\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntityIDs\022#\n\006statu" - "s\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017entity_i" - "d_array\030\002 \003(\003\"C\n\022HGetEntityIDsParam\022\027\n\017c" - "ollection_name\030\001 \001(\t\022\024\n\014segment_name\030\002 \001" - "(\t\"=\n\020HDeleteByIDParam\022\027\n\017collection_nam" - "e\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001\n\013HIndexPara" - "m\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027" - "\n\017collection_name\030\002 \001(\t\022\022\n\nindex_type\030\003 " - "\001(\005\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc." - "KeyValuePair*\206\001\n\010DataType\022\010\n\004NULL\020\000\022\010\n\004I" - "NT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005INT64\020\004\022\n" - "\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOAT\020(\022\n\n\006DOUBL" - "E\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217N*C\n\017Compare" - "Operator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n\002EQ\020\002\022\006\n\002GT\020" - "\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022\013\n\007INVALID\020\000" - "\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MUST_NOT\020\0032\212\026\n" - "\rMilvusService\022H\n\020CreateCollection\022\035.mil" - "vus.grpc.CollectionSchema\032\023.milvus.grpc." - "Status\"\000\022F\n\rHasCollection\022\033.milvus.grpc." - "CollectionName\032\026.milvus.grpc.BoolReply\"\000" - "\022R\n\022DescribeCollection\022\033.milvus.grpc.Col" - "lectionName\032\035.milvus.grpc.CollectionSche" - "ma\"\000\022Q\n\017CountCollection\022\033.milvus.grpc.Co" - "llectionName\032\037.milvus.grpc.CollectionRow" - "Count\"\000\022J\n\017ShowCollections\022\024.milvus.grpc" - ".Command\032\037.milvus.grpc.CollectionNameLis" - "t\"\000\022P\n\022ShowCollectionInfo\022\033.milvus.grpc." - "CollectionName\032\033.milvus.grpc.CollectionI" - "nfo\"\000\022D\n\016DropCollection\022\033.milvus.grpc.Co" - "llectionName\032\023.milvus.grpc.Status\"\000\022=\n\013C" - "reateIndex\022\027.milvus.grpc.IndexParam\032\023.mi" - "lvus.grpc.Status\"\000\022G\n\rDescribeIndex\022\033.mi" - "lvus.grpc.CollectionName\032\027.milvus.grpc.I" - "ndexParam\"\000\022\?\n\tDropIndex\022\033.milvus.grpc.C" - "ollectionName\032\023.milvus.grpc.Status\"\000\022E\n\017" - "CreatePartition\022\033.milvus.grpc.PartitionP" - "aram\032\023.milvus.grpc.Status\"\000\022K\n\016ShowParti" - "tions\022\033.milvus.grpc.CollectionName\032\032.mil" - "vus.grpc.PartitionList\"\000\022C\n\rDropPartitio" - "n\022\033.milvus.grpc.PartitionParam\032\023.milvus." - "grpc.Status\"\000\022<\n\006Insert\022\030.milvus.grpc.In" - "sertParam\032\026.milvus.grpc.VectorIds\"\000\022G\n\rG" - "etVectorByID\022\033.milvus.grpc.VectorIdentit" - "y\032\027.milvus.grpc.VectorData\"\000\022H\n\014GetVecto" - "rIDs\022\036.milvus.grpc.GetVectorIDsParam\032\026.m" - "ilvus.grpc.VectorIds\"\000\022B\n\006Search\022\030.milvu" - "s.grpc.SearchParam\032\034.milvus.grpc.TopKQue" - "ryResult\"\000\022J\n\nSearchByID\022\034.milvus.grpc.S" - "earchByIDParam\032\034.milvus.grpc.TopKQueryRe" - "sult\"\000\022P\n\rSearchInFiles\022\037.milvus.grpc.Se" - "archInFilesParam\032\034.milvus.grpc.TopKQuery" - "Result\"\000\0227\n\003Cmd\022\024.milvus.grpc.Command\032\030." - "milvus.grpc.StringReply\"\000\022A\n\nDeleteByID\022" - "\034.milvus.grpc.DeleteByIDParam\032\023.milvus.g" - "rpc.Status\"\000\022G\n\021PreloadCollection\022\033.milv" - "us.grpc.CollectionName\032\023.milvus.grpc.Sta" - "tus\"\000\0227\n\005Flush\022\027.milvus.grpc.FlushParam\032" - "\023.milvus.grpc.Status\"\000\022=\n\007Compact\022\033.milv" - "us.grpc.CollectionName\032\023.milvus.grpc.Sta" - "tus\"\000\022E\n\026CreateHybridCollection\022\024.milvus" - ".grpc.Mapping\032\023.milvus.grpc.Status\"\000\022L\n\023" - "HasHybridCollection\022\033.milvus.grpc.Collec" - "tionName\032\026.milvus.grpc.BoolReply\"\000\022J\n\024Dr" - "opHybridCollection\022\033.milvus.grpc.Collect" - "ionName\032\023.milvus.grpc.Status\"\000\022O\n\030Descri" - "beHybridCollection\022\033.milvus.grpc.Collect" - "ionName\032\024.milvus.grpc.Mapping\"\000\022W\n\025Count" - "HybridCollection\022\033.milvus.grpc.Collectio" - "nName\032\037.milvus.grpc.CollectionRowCount\"\000" - "\022I\n\025ShowHybridCollections\022\024.milvus.grpc." - "Command\032\030.milvus.grpc.MappingList\"\000\022V\n\030S" - "howHybridCollectionInfo\022\033.milvus.grpc.Co" - "llectionName\032\033.milvus.grpc.CollectionInf" - "o\"\000\022M\n\027PreloadHybridCollection\022\033.milvus." + "us.grpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_n" + "ame\030\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003" + " \001(\003\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(" + "\0132\031.milvus.grpc.KeyValuePair\"N\n\013CompareE" + "xpr\022.\n\010operator\030\001 \001(\0162\034.milvus.grpc.Comp" + "areOperator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQu" + "ery\022\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\013" + "2\030.milvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(" + "\002\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.Ke" + "yValuePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name" + "\030\001 \001(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003" + " \003(\0132\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001" + "(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.K" + "eyValuePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001" + "(\0162\022.milvus.grpc.Occur\0220\n\rgeneral_query\030" + "\002 \003(\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014Gen" + "eralQuery\0222\n\rboolean_query\030\001 \001(\0132\031.milvu" + "s.grpc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(" + "\0132\026.milvus.grpc.TermQueryH\000\022.\n\013range_que" + "ry\030\003 \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014v" + "ector_query\030\004 \001(\0132\030.milvus.grpc.VectorQu" + "eryH\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017colle" + "ction_name\030\001 \001(\t\022\033\n\023partition_tag_array\030" + "\002 \003(\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.gr" + "pc.GeneralQuery\022/\n\014extra_params\030\004 \003(\0132\031." + "milvus.grpc.KeyValuePair\"c\n\026HSearchInSeg" + "mentsParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014" + "search_param\030\002 \001(\0132\031.milvus.grpc.HSearch" + "Param\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007H" + "Entity\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Sta" + "tus\022\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 " + "\003(\t\022\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001" + "(\003\022.\n\rresult_values\030\006 \003(\0132\027.milvus.grpc." + "FieldValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 " + "\001(\0132\023.milvus.grpc.Status\022&\n\010entities\030\002 \003" + "(\0132\024.milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(" + "\003\022\r\n\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014H" + "InsertParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\r" + "partition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024." + "milvus.grpc.HEntity\022\027\n\017entity_id_array\030\004" + " \003(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc" + ".KeyValuePair\"6\n\017HEntityIdentity\022\027\n\017coll" + "ection_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntity" + "IDs\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" + "\022\027\n\017entity_id_array\030\002 \003(\003\"C\n\022HGetEntityI" + "DsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segm" + "ent_name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017co" + "llection_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001" + "\n\013HIndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.g" + "rpc.Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\ni" + "ndex_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031." + "milvus.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n" + "\004NULL\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022" + "\t\n\005INT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOA" + "T\020(\022\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217" + "N*C\n\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n" + "\002EQ\020\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022" + "\013\n\007INVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MU" + "ST_NOT\020\0032\212\026\n\rMilvusService\022H\n\020CreateColl" + "ection\022\035.milvus.grpc.CollectionSchema\032\023." + "milvus.grpc.Status\"\000\022F\n\rHasCollection\022\033." + "milvus.grpc.CollectionName\032\026.milvus.grpc" + ".BoolReply\"\000\022R\n\022DescribeCollection\022\033.mil" + "vus.grpc.CollectionName\032\035.milvus.grpc.Co" + "llectionSchema\"\000\022Q\n\017CountCollection\022\033.mi" + "lvus.grpc.CollectionName\032\037.milvus.grpc.C" + "ollectionRowCount\"\000\022J\n\017ShowCollections\022\024" + ".milvus.grpc.Command\032\037.milvus.grpc.Colle" + "ctionNameList\"\000\022P\n\022ShowCollectionInfo\022\033." + "milvus.grpc.CollectionName\032\033.milvus.grpc" + ".CollectionInfo\"\000\022D\n\016DropCollection\022\033.mi" + "lvus.grpc.CollectionName\032\023.milvus.grpc.S" + "tatus\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.Ind" + "exParam\032\023.milvus.grpc.Status\"\000\022G\n\rDescri" + "beIndex\022\033.milvus.grpc.CollectionName\032\027.m" + "ilvus.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.m" + "ilvus.grpc.CollectionName\032\023.milvus.grpc." + "Status\"\000\022E\n\017CreatePartition\022\033.milvus.grp" + "c.PartitionParam\032\023.milvus.grpc.Status\"\000\022" + "K\n\016ShowPartitions\022\033.milvus.grpc.Collecti" + "onName\032\032.milvus.grpc.PartitionList\"\000\022C\n\r" + "DropPartition\022\033.milvus.grpc.PartitionPar" + "am\032\023.milvus.grpc.Status\"\000\022<\n\006Insert\022\030.mi" + "lvus.grpc.InsertParam\032\026.milvus.grpc.Vect" + "orIds\"\000\022G\n\rGetVectorByID\022\033.milvus.grpc.V" + "ectorIdentity\032\027.milvus.grpc.VectorData\"\000" + "\022H\n\014GetVectorIDs\022\036.milvus.grpc.GetVector" + "IDsParam\032\026.milvus.grpc.VectorIds\"\000\022B\n\006Se" + "arch\022\030.milvus.grpc.SearchParam\032\034.milvus." + "grpc.TopKQueryResult\"\000\022J\n\nSearchByID\022\034.m" + "ilvus.grpc.SearchByIDParam\032\034.milvus.grpc" + ".TopKQueryResult\"\000\022P\n\rSearchInFiles\022\037.mi" + "lvus.grpc.SearchInFilesParam\032\034.milvus.gr" + "pc.TopKQueryResult\"\000\0227\n\003Cmd\022\024.milvus.grp" + "c.Command\032\030.milvus.grpc.StringReply\"\000\022A\n" + "\nDeleteByID\022\034.milvus.grpc.DeleteByIDPara" + "m\032\023.milvus.grpc.Status\"\000\022G\n\021PreloadColle" + "ction\022\033.milvus.grpc.CollectionName\032\023.mil" + "vus.grpc.Status\"\000\0227\n\005Flush\022\027.milvus.grpc" + ".FlushParam\032\023.milvus.grpc.Status\"\000\022=\n\007Co" + "mpact\022\033.milvus.grpc.CollectionName\032\023.mil" + "vus.grpc.Status\"\000\022E\n\026CreateHybridCollect" + "ion\022\024.milvus.grpc.Mapping\032\023.milvus.grpc." + "Status\"\000\022L\n\023HasHybridCollection\022\033.milvus" + ".grpc.CollectionName\032\026.milvus.grpc.BoolR" + "eply\"\000\022J\n\024DropHybridCollection\022\033.milvus." "grpc.CollectionName\032\023.milvus.grpc.Status" - "\"\000\022D\n\014InsertEntity\022\031.milvus.grpc.HInsert" - "Param\032\027.milvus.grpc.HEntityIDs\"\000\022I\n\014Hybr" - "idSearch\022\031.milvus.grpc.HSearchParam\032\034.mi" - "lvus.grpc.TopKQueryResult\"\000\022]\n\026HybridSea" - "rchInSegments\022#.milvus.grpc.HSearchInSeg" - "mentsParam\032\034.milvus.grpc.TopKQueryResult" - "\"\000\022E\n\rGetEntityByID\022\034.milvus.grpc.HEntit" - "yIdentity\032\024.milvus.grpc.HEntity\"\000\022J\n\014Get" - "EntityIDs\022\037.milvus.grpc.HGetEntityIDsPar" - "am\032\027.milvus.grpc.HEntityIDs\"\000\022J\n\022DeleteE" - "ntitiesByID\022\035.milvus.grpc.HDeleteByIDPar" - "am\032\023.milvus.grpc.Status\"\000b\006proto3" + "\"\000\022O\n\030DescribeHybridCollection\022\033.milvus." + "grpc.CollectionName\032\024.milvus.grpc.Mappin" + "g\"\000\022W\n\025CountHybridCollection\022\033.milvus.gr" + "pc.CollectionName\032\037.milvus.grpc.Collecti" + "onRowCount\"\000\022I\n\025ShowHybridCollections\022\024." + "milvus.grpc.Command\032\030.milvus.grpc.Mappin" + "gList\"\000\022V\n\030ShowHybridCollectionInfo\022\033.mi" + "lvus.grpc.CollectionName\032\033.milvus.grpc.C" + "ollectionInfo\"\000\022M\n\027PreloadHybridCollecti" + "on\022\033.milvus.grpc.CollectionName\032\023.milvus" + ".grpc.Status\"\000\022D\n\014InsertEntity\022\031.milvus." + "grpc.HInsertParam\032\027.milvus.grpc.HEntityI" + "Ds\"\000\022I\n\014HybridSearch\022\031.milvus.grpc.HSear" + "chParam\032\034.milvus.grpc.TopKQueryResult\"\000\022" + "]\n\026HybridSearchInSegments\022#.milvus.grpc." + "HSearchInSegmentsParam\032\034.milvus.grpc.Top" + "KQueryResult\"\000\022E\n\rGetEntityByID\022\034.milvus" + ".grpc.HEntityIdentity\032\024.milvus.grpc.HEnt" + "ity\"\000\022J\n\014GetEntityIDs\022\037.milvus.grpc.HGet" + "EntityIDsParam\032\027.milvus.grpc.HEntityIDs\"" + "\000\022J\n\022DeleteEntitiesByID\022\035.milvus.grpc.HD" + "eleteByIDParam\032\023.milvus.grpc.Status\"\000b\006p" + "roto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = { &::descriptor_table_status_2eproto, @@ -1776,7 +1777,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8393, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8405, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 49, 1, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, file_level_metadata_milvus_2eproto, 50, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, @@ -13996,21 +13997,29 @@ TermQuery::TermQuery() TermQuery::TermQuery(const TermQuery& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), - values_(from.values_), extra_params_(from.extra_params_) { _internal_metadata_.MergeFrom(from._internal_metadata_); field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.field_name().empty()) { field_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.field_name_); } - boost_ = from.boost_; + values_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.values().empty()) { + values_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.values_); + } + ::memcpy(&value_num_, &from.value_num_, + static_cast(reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); // @@protoc_insertion_point(copy_constructor:milvus.grpc.TermQuery) } void TermQuery::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TermQuery_milvus_2eproto.base); field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - boost_ = 0; + values_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(&value_num_, 0, static_cast( + reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); } TermQuery::~TermQuery() { @@ -14020,6 +14029,7 @@ TermQuery::~TermQuery() { void TermQuery::SharedDtor() { field_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + values_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } void TermQuery::SetCachedSize(int size) const { @@ -14037,10 +14047,12 @@ void TermQuery::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - values_.Clear(); extra_params_.Clear(); field_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - boost_ = 0; + values_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(&value_num_, 0, static_cast( + reinterpret_cast(&boost_) - + reinterpret_cast(&value_num_)) + sizeof(boost_)); _internal_metadata_.Clear(); } @@ -14059,35 +14071,37 @@ const char* TermQuery::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: CHK_(ptr); } else goto handle_unusual; continue; - // repeated string values = 2; + // bytes values = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_values(), ptr, ctx, "milvus.grpc.TermQuery.values"); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_values(), ptr, ctx); + CHK_(ptr); } else goto handle_unusual; continue; - // float boost = 3; + // int64 value_num = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + value_num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // float boost = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) { boost_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); ptr += sizeof(float); } else goto handle_unusual; continue; - // repeated .milvus.grpc.KeyValuePair extra_params = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + // repeated .milvus.grpc.KeyValuePair extra_params = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(add_extra_params(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34); + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42); } else goto handle_unusual; continue; default: { @@ -14135,25 +14149,33 @@ bool TermQuery::MergePartialFromCodedStream( break; } - // repeated string values = 2; + // bytes values = 2; case 2: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->add_values())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(this->values_size() - 1).data(), - static_cast(this->values(this->values_size() - 1).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.TermQuery.values")); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes( + input, this->mutable_values())); } else { goto handle_unusual; } break; } - // float boost = 3; + // int64 value_num = 3; case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (29 & 0xFF)) { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &value_num_))); + } else { + goto handle_unusual; + } + break; + } + + // float boost = 4; + case 4: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (37 & 0xFF)) { DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< float, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_FLOAT>( @@ -14164,9 +14186,9 @@ bool TermQuery::MergePartialFromCodedStream( break; } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; - case 4: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) { + // repeated .milvus.grpc.KeyValuePair extra_params = 5; + case 5: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( input, add_extra_params())); } else { @@ -14212,26 +14234,27 @@ void TermQuery::SerializeWithCachedSizes( 1, this->field_name(), output); } - // repeated string values = 2; - for (int i = 0, n = this->values_size(); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(i).data(), static_cast(this->values(i).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.TermQuery.values"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteString( - 2, this->values(i), output); + // bytes values = 2; + if (this->values().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesMaybeAliased( + 2, this->values(), output); } - // float boost = 3; + // int64 value_num = 3; + if (this->value_num() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(3, this->value_num(), output); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloat(3, this->boost(), output); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloat(4, this->boost(), output); } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; for (unsigned int i = 0, n = static_cast(this->extra_params_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, + 5, this->extra_params(static_cast(i)), output); } @@ -14260,27 +14283,29 @@ void TermQuery::SerializeWithCachedSizes( 1, this->field_name(), target); } - // repeated string values = 2; - for (int i = 0, n = this->values_size(); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->values(i).data(), static_cast(this->values(i).length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.TermQuery.values"); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - WriteStringToArray(2, this->values(i), target); + // bytes values = 2; + if (this->values().size() > 0) { + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesToArray( + 2, this->values(), target); } - // float boost = 3; + // int64 value_num = 3; + if (this->value_num() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->value_num(), target); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->boost(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->boost(), target); } - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; for (unsigned int i = 0, n = static_cast(this->extra_params_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 4, this->extra_params(static_cast(i)), target); + 5, this->extra_params(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -14304,15 +14329,7 @@ size_t TermQuery::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated string values = 2; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->values_size()); - for (int i = 0, n = this->values_size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->values(i)); - } - - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; { unsigned int count = static_cast(this->extra_params_size()); total_size += 1UL * count; @@ -14330,7 +14347,21 @@ size_t TermQuery::ByteSizeLong() const { this->field_name()); } - // float boost = 3; + // bytes values = 2; + if (this->values().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->values()); + } + + // int64 value_num = 3; + if (this->value_num() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->value_num()); + } + + // float boost = 4; if (!(this->boost() <= 0 && this->boost() >= 0)) { total_size += 1 + 4; } @@ -14362,12 +14393,18 @@ void TermQuery::MergeFrom(const TermQuery& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - values_.MergeFrom(from.values_); extra_params_.MergeFrom(from.extra_params_); if (from.field_name().size() > 0) { field_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.field_name_); } + if (from.values().size() > 0) { + + values_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.values_); + } + if (from.value_num() != 0) { + set_value_num(from.value_num()); + } if (!(from.boost() <= 0 && from.boost() >= 0)) { set_boost(from.boost()); } @@ -14394,10 +14431,12 @@ bool TermQuery::IsInitialized() const { void TermQuery::InternalSwap(TermQuery* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - values_.InternalSwap(CastToBase(&other->values_)); CastToBase(&extra_params_)->InternalSwap(CastToBase(&other->extra_params_)); field_name_.Swap(&other->field_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + values_.Swap(&other->values_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(value_num_, other->value_num_); swap(boost_, other->boost_); } @@ -17509,23 +17548,29 @@ HEntity::HEntity(const HEntity& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), field_names_(from.field_names_), - attr_records_(from.attr_records_), result_values_(from.result_values_) { _internal_metadata_.MergeFrom(from._internal_metadata_); + attr_records_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.attr_records().empty()) { + attr_records_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.attr_records_); + } if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - entity_id_ = from.entity_id_; + ::memcpy(&entity_id_, &from.entity_id_, + static_cast(reinterpret_cast(&row_num_) - + reinterpret_cast(&entity_id_)) + sizeof(row_num_)); // @@protoc_insertion_point(copy_constructor:milvus.grpc.HEntity) } void HEntity::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_HEntity_milvus_2eproto.base); + attr_records_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(&status_, 0, static_cast( - reinterpret_cast(&entity_id_) - - reinterpret_cast(&status_)) + sizeof(entity_id_)); + reinterpret_cast(&row_num_) - + reinterpret_cast(&status_)) + sizeof(row_num_)); } HEntity::~HEntity() { @@ -17534,6 +17579,7 @@ HEntity::~HEntity() { } void HEntity::SharedDtor() { + attr_records_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete status_; } @@ -17553,13 +17599,15 @@ void HEntity::Clear() { (void) cached_has_bits; field_names_.Clear(); - attr_records_.Clear(); result_values_.Clear(); + attr_records_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - entity_id_ = PROTOBUF_LONGLONG(0); + ::memset(&entity_id_, 0, static_cast( + reinterpret_cast(&row_num_) - + reinterpret_cast(&entity_id_)) + sizeof(row_num_)); _internal_metadata_.Clear(); } @@ -17597,28 +17645,30 @@ const char* HEntity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); } else goto handle_unusual; continue; - // repeated .milvus.grpc.AttrRecord attr_records = 4; + // bytes attr_records = 4; case 4: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_attr_records(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_attr_records(), ptr, ctx); + CHK_(ptr); } else goto handle_unusual; continue; - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + row_num_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .milvus.grpc.FieldValue result_values = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(add_result_values(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42); + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50); } else goto handle_unusual; continue; default: { @@ -17691,20 +17741,33 @@ bool HEntity::MergePartialFromCodedStream( break; } - // repeated .milvus.grpc.AttrRecord attr_records = 4; + // bytes attr_records = 4; case 4: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_attr_records())); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadBytes( + input, this->mutable_attr_records())); } else { goto handle_unusual; } break; } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; case 5: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &row_num_))); + } else { + goto handle_unusual; + } + break; + } + + // repeated .milvus.grpc.FieldValue result_values = 6; + case 6: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (50 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( input, add_result_values())); } else { @@ -17761,20 +17824,22 @@ void HEntity::SerializeWithCachedSizes( 3, this->field_names(i), output); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - for (unsigned int i = 0, - n = static_cast(this->attr_records_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, - this->attr_records(static_cast(i)), - output); + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesMaybeAliased( + 4, this->attr_records(), output); } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; + if (this->row_num() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->row_num(), output); + } + + // repeated .milvus.grpc.FieldValue result_values = 6; for (unsigned int i = 0, n = static_cast(this->result_values_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, + 6, this->result_values(static_cast(i)), output); } @@ -17814,20 +17879,24 @@ void HEntity::SerializeWithCachedSizes( WriteStringToArray(3, this->field_names(i), target); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - for (unsigned int i = 0, - n = static_cast(this->attr_records_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 4, this->attr_records(static_cast(i)), target); + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBytesToArray( + 4, this->attr_records(), target); } - // repeated .milvus.grpc.FieldValue result_values = 5; + // int64 row_num = 5; + if (this->row_num() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->row_num(), target); + } + + // repeated .milvus.grpc.FieldValue result_values = 6; for (unsigned int i = 0, n = static_cast(this->result_values_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 5, this->result_values(static_cast(i)), target); + 6, this->result_values(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -17859,18 +17928,7 @@ size_t HEntity::ByteSizeLong() const { this->field_names(i)); } - // repeated .milvus.grpc.AttrRecord attr_records = 4; - { - unsigned int count = static_cast(this->attr_records_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->attr_records(static_cast(i))); - } - } - - // repeated .milvus.grpc.FieldValue result_values = 5; + // repeated .milvus.grpc.FieldValue result_values = 6; { unsigned int count = static_cast(this->result_values_size()); total_size += 1UL * count; @@ -17881,6 +17939,13 @@ size_t HEntity::ByteSizeLong() const { } } + // bytes attr_records = 4; + if (this->attr_records().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->attr_records()); + } + // .milvus.grpc.Status status = 1; if (this->has_status()) { total_size += 1 + @@ -17895,6 +17960,13 @@ size_t HEntity::ByteSizeLong() const { this->entity_id()); } + // int64 row_num = 5; + if (this->row_num() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->row_num()); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -17923,14 +17995,20 @@ void HEntity::MergeFrom(const HEntity& from) { (void) cached_has_bits; field_names_.MergeFrom(from.field_names_); - attr_records_.MergeFrom(from.attr_records_); result_values_.MergeFrom(from.result_values_); + if (from.attr_records().size() > 0) { + + attr_records_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.attr_records_); + } if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } if (from.entity_id() != 0) { set_entity_id(from.entity_id()); } + if (from.row_num() != 0) { + set_row_num(from.row_num()); + } } void HEntity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { @@ -17955,10 +18033,12 @@ void HEntity::InternalSwap(HEntity* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); field_names_.InternalSwap(CastToBase(&other->field_names_)); - CastToBase(&attr_records_)->InternalSwap(CastToBase(&other->attr_records_)); CastToBase(&result_values_)->InternalSwap(CastToBase(&other->result_values_)); + attr_records_.Swap(&other->attr_records_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(status_, other->status_); swap(entity_id_, other->entity_id_); + swap(row_num_, other->row_num_); } ::PROTOBUF_NAMESPACE_ID::Metadata HEntity::GetMetadata() const { diff --git a/sdk/grpc-gen/gen-milvus/milvus.pb.h b/sdk/grpc-gen/gen-milvus/milvus.pb.h index 0bd2527120..b246211763 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.pb.h +++ b/sdk/grpc-gen/gen-milvus/milvus.pb.h @@ -5656,29 +5656,13 @@ class TermQuery : // accessors ------------------------------------------------------- enum : int { - kValuesFieldNumber = 2, - kExtraParamsFieldNumber = 4, + kExtraParamsFieldNumber = 5, kFieldNameFieldNumber = 1, - kBoostFieldNumber = 3, + kValuesFieldNumber = 2, + kValueNumFieldNumber = 3, + kBoostFieldNumber = 4, }; - // repeated string values = 2; - int values_size() const; - void clear_values(); - const std::string& values(int index) const; - std::string* mutable_values(int index); - void set_values(int index, const std::string& value); - void set_values(int index, std::string&& value); - void set_values(int index, const char* value); - void set_values(int index, const char* value, size_t size); - std::string* add_values(); - void add_values(const std::string& value); - void add_values(std::string&& value); - void add_values(const char* value); - void add_values(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& values() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_values(); - - // repeated .milvus.grpc.KeyValuePair extra_params = 4; + // repeated .milvus.grpc.KeyValuePair extra_params = 5; int extra_params_size() const; void clear_extra_params(); ::milvus::grpc::KeyValuePair* mutable_extra_params(int index); @@ -5700,7 +5684,23 @@ class TermQuery : std::string* release_field_name(); void set_allocated_field_name(std::string* field_name); - // float boost = 3; + // bytes values = 2; + void clear_values(); + const std::string& values() const; + void set_values(const std::string& value); + void set_values(std::string&& value); + void set_values(const char* value); + void set_values(const void* value, size_t size); + std::string* mutable_values(); + std::string* release_values(); + void set_allocated_values(std::string* values); + + // int64 value_num = 3; + void clear_value_num(); + ::PROTOBUF_NAMESPACE_ID::int64 value_num() const; + void set_value_num(::PROTOBUF_NAMESPACE_ID::int64 value); + + // float boost = 4; void clear_boost(); float boost() const; void set_boost(float value); @@ -5710,9 +5710,10 @@ class TermQuery : class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField values_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::KeyValuePair > extra_params_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr field_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr values_; + ::PROTOBUF_NAMESPACE_ID::int64 value_num_; float boost_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -7129,10 +7130,11 @@ class HEntity : enum : int { kFieldNamesFieldNumber = 3, + kResultValuesFieldNumber = 6, kAttrRecordsFieldNumber = 4, - kResultValuesFieldNumber = 5, kStatusFieldNumber = 1, kEntityIdFieldNumber = 2, + kRowNumFieldNumber = 5, }; // repeated string field_names = 3; int field_names_size() const; @@ -7151,18 +7153,7 @@ class HEntity : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& field_names() const; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_field_names(); - // repeated .milvus.grpc.AttrRecord attr_records = 4; - int attr_records_size() const; - void clear_attr_records(); - ::milvus::grpc::AttrRecord* mutable_attr_records(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >* - mutable_attr_records(); - const ::milvus::grpc::AttrRecord& attr_records(int index) const; - ::milvus::grpc::AttrRecord* add_attr_records(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >& - attr_records() const; - - // repeated .milvus.grpc.FieldValue result_values = 5; + // repeated .milvus.grpc.FieldValue result_values = 6; int result_values_size() const; void clear_result_values(); ::milvus::grpc::FieldValue* mutable_result_values(int index); @@ -7173,6 +7164,17 @@ class HEntity : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::FieldValue >& result_values() const; + // bytes attr_records = 4; + void clear_attr_records(); + const std::string& attr_records() const; + void set_attr_records(const std::string& value); + void set_attr_records(std::string&& value); + void set_attr_records(const char* value); + void set_attr_records(const void* value, size_t size); + std::string* mutable_attr_records(); + std::string* release_attr_records(); + void set_allocated_attr_records(std::string* attr_records); + // .milvus.grpc.Status status = 1; bool has_status() const; void clear_status(); @@ -7186,16 +7188,22 @@ class HEntity : ::PROTOBUF_NAMESPACE_ID::int64 entity_id() const; void set_entity_id(::PROTOBUF_NAMESPACE_ID::int64 value); + // int64 row_num = 5; + void clear_row_num(); + ::PROTOBUF_NAMESPACE_ID::int64 row_num() const; + void set_row_num(::PROTOBUF_NAMESPACE_ID::int64 value); + // @@protoc_insertion_point(class_scope:milvus.grpc.HEntity) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField field_names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord > attr_records_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::FieldValue > result_values_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attr_records_; ::milvus::grpc::Status* status_; ::PROTOBUF_NAMESPACE_ID::int64 entity_id_; + ::PROTOBUF_NAMESPACE_ID::int64 row_num_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; @@ -12009,72 +12017,72 @@ inline void TermQuery::set_allocated_field_name(std::string* field_name) { // @@protoc_insertion_point(field_set_allocated:milvus.grpc.TermQuery.field_name) } -// repeated string values = 2; -inline int TermQuery::values_size() const { - return values_.size(); -} +// bytes values = 2; inline void TermQuery::clear_values() { - values_.Clear(); + values_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const std::string& TermQuery::values(int index) const { +inline const std::string& TermQuery::values() const { // @@protoc_insertion_point(field_get:milvus.grpc.TermQuery.values) - return values_.Get(index); + return values_.GetNoArena(); } -inline std::string* TermQuery::mutable_values(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.TermQuery.values) - return values_.Mutable(index); -} -inline void TermQuery::set_values(int index, const std::string& value) { +inline void TermQuery::set_values(const std::string& value) { + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.values) - values_.Mutable(index)->assign(value); } -inline void TermQuery::set_values(int index, std::string&& value) { - // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.values) - values_.Mutable(index)->assign(std::move(value)); +inline void TermQuery::set_values(std::string&& value) { + + values_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.TermQuery.values) } -inline void TermQuery::set_values(int index, const char* value) { +inline void TermQuery::set_values(const char* value) { GOOGLE_DCHECK(value != nullptr); - values_.Mutable(index)->assign(value); + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); // @@protoc_insertion_point(field_set_char:milvus.grpc.TermQuery.values) } -inline void TermQuery::set_values(int index, const char* value, size_t size) { - values_.Mutable(index)->assign( - reinterpret_cast(value), size); +inline void TermQuery::set_values(const void* value, size_t size) { + + values_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); // @@protoc_insertion_point(field_set_pointer:milvus.grpc.TermQuery.values) } -inline std::string* TermQuery::add_values() { - // @@protoc_insertion_point(field_add_mutable:milvus.grpc.TermQuery.values) - return values_.Add(); +inline std::string* TermQuery::mutable_values() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.TermQuery.values) + return values_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void TermQuery::add_values(const std::string& value) { - values_.Add()->assign(value); - // @@protoc_insertion_point(field_add:milvus.grpc.TermQuery.values) +inline std::string* TermQuery::release_values() { + // @@protoc_insertion_point(field_release:milvus.grpc.TermQuery.values) + + return values_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void TermQuery::add_values(std::string&& value) { - values_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:milvus.grpc.TermQuery.values) -} -inline void TermQuery::add_values(const char* value) { - GOOGLE_DCHECK(value != nullptr); - values_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:milvus.grpc.TermQuery.values) -} -inline void TermQuery::add_values(const char* value, size_t size) { - values_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:milvus.grpc.TermQuery.values) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -TermQuery::values() const { - // @@protoc_insertion_point(field_list:milvus.grpc.TermQuery.values) - return values_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -TermQuery::mutable_values() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.TermQuery.values) - return &values_; +inline void TermQuery::set_allocated_values(std::string* values) { + if (values != nullptr) { + + } else { + + } + values_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), values); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.TermQuery.values) } -// float boost = 3; +// int64 value_num = 3; +inline void TermQuery::clear_value_num() { + value_num_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 TermQuery::value_num() const { + // @@protoc_insertion_point(field_get:milvus.grpc.TermQuery.value_num) + return value_num_; +} +inline void TermQuery::set_value_num(::PROTOBUF_NAMESPACE_ID::int64 value) { + + value_num_ = value; + // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.value_num) +} + +// float boost = 4; inline void TermQuery::clear_boost() { boost_ = 0; } @@ -12088,7 +12096,7 @@ inline void TermQuery::set_boost(float value) { // @@protoc_insertion_point(field_set:milvus.grpc.TermQuery.boost) } -// repeated .milvus.grpc.KeyValuePair extra_params = 4; +// repeated .milvus.grpc.KeyValuePair extra_params = 5; inline int TermQuery::extra_params_size() const { return extra_params_.size(); } @@ -13202,37 +13210,72 @@ HEntity::mutable_field_names() { return &field_names_; } -// repeated .milvus.grpc.AttrRecord attr_records = 4; -inline int HEntity::attr_records_size() const { - return attr_records_.size(); -} +// bytes attr_records = 4; inline void HEntity::clear_attr_records() { - attr_records_.Clear(); + attr_records_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::milvus::grpc::AttrRecord* HEntity::mutable_attr_records(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.HEntity.attr_records) - return attr_records_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >* -HEntity::mutable_attr_records() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.HEntity.attr_records) - return &attr_records_; -} -inline const ::milvus::grpc::AttrRecord& HEntity::attr_records(int index) const { +inline const std::string& HEntity::attr_records() const { // @@protoc_insertion_point(field_get:milvus.grpc.HEntity.attr_records) - return attr_records_.Get(index); + return attr_records_.GetNoArena(); } -inline ::milvus::grpc::AttrRecord* HEntity::add_attr_records() { - // @@protoc_insertion_point(field_add:milvus.grpc.HEntity.attr_records) - return attr_records_.Add(); +inline void HEntity::set_attr_records(const std::string& value) { + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:milvus.grpc.HEntity.attr_records) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::AttrRecord >& -HEntity::attr_records() const { - // @@protoc_insertion_point(field_list:milvus.grpc.HEntity.attr_records) - return attr_records_; +inline void HEntity::set_attr_records(std::string&& value) { + + attr_records_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.HEntity.attr_records) +} +inline void HEntity::set_attr_records(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:milvus.grpc.HEntity.attr_records) +} +inline void HEntity::set_attr_records(const void* value, size_t size) { + + attr_records_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.HEntity.attr_records) +} +inline std::string* HEntity::mutable_attr_records() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.HEntity.attr_records) + return attr_records_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} +inline std::string* HEntity::release_attr_records() { + // @@protoc_insertion_point(field_release:milvus.grpc.HEntity.attr_records) + + return attr_records_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} +inline void HEntity::set_allocated_attr_records(std::string* attr_records) { + if (attr_records != nullptr) { + + } else { + + } + attr_records_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), attr_records); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.HEntity.attr_records) } -// repeated .milvus.grpc.FieldValue result_values = 5; +// int64 row_num = 5; +inline void HEntity::clear_row_num() { + row_num_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 HEntity::row_num() const { + // @@protoc_insertion_point(field_get:milvus.grpc.HEntity.row_num) + return row_num_; +} +inline void HEntity::set_row_num(::PROTOBUF_NAMESPACE_ID::int64 value) { + + row_num_ = value; + // @@protoc_insertion_point(field_set:milvus.grpc.HEntity.row_num) +} + +// repeated .milvus.grpc.FieldValue result_values = 6; inline int HEntity::result_values_size() const { return result_values_.size(); } diff --git a/sdk/grpc/ClientProxy.cpp b/sdk/grpc/ClientProxy.cpp index d78c16088f..5686c6b84f 100644 --- a/sdk/grpc/ClientProxy.cpp +++ b/sdk/grpc/ClientProxy.cpp @@ -629,17 +629,28 @@ ClientProxy::InsertEntity(const std::string& collection_name, grpc_param.set_collection_name(collection_name); grpc_param.set_partition_tag(partition_tag); + std::vector> numerica_data; + auto numerica_size = 0; + auto numerica_it = entities.numerica_value.begin(); + auto grpc_entity = grpc_param.mutable_entities(); + grpc_entity->set_row_num(entities.row_num); for (; numerica_it != entities.numerica_value.end(); numerica_it++) { - auto name = grpc_param.mutable_entities()->add_field_names(); + auto name = grpc_entity->add_field_names(); *name = numerica_it->first; - auto records = grpc_param.mutable_entities()->add_attr_records(); - for (auto value : numerica_it->second) { - auto attr = records->add_value(); - *attr = value; - } + auto size = numerica_it->second.size(); + numerica_size += size; + numerica_data.emplace_back(numerica_it->second); } + std::vector attr_data(numerica_size, 0); + size_t offset = 0; + for (auto data : numerica_data) { + memcpy(attr_data.data() + offset, data.data(), data.size()); + offset += data.size(); + } + grpc_entity->set_attr_records(attr_data.data(), numerica_size); + auto vector_it = entities.vector_value.begin(); for (; vector_it != entities.vector_value.end(); vector_it++) { auto name = grpc_param.mutable_entities()->add_field_names(); @@ -674,43 +685,44 @@ WriteQueryToProto(::milvus::grpc::GeneralQuery* general_query, BooleanQueryPtr b for (auto query : boolean_query->GetBooleanQueries()) { auto grpc_boolean_query = general_query->mutable_boolean_query(); grpc_boolean_query->set_occur((::milvus::grpc::Occur)query->GetOccur()); - ::milvus::grpc::GeneralQuery* next_query = grpc_boolean_query->add_general_query(); - WriteQueryToProto(next_query, query); - } - } else { - for (auto leaf_query : boolean_query->GetLeafQueries()) { - ::milvus::grpc::GeneralQuery* grpc_query = general_query->mutable_boolean_query()->add_general_query(); - if (leaf_query->term_query_ptr != nullptr) { - auto term_query = grpc_query->mutable_term_query(); - term_query->set_field_name(leaf_query->term_query_ptr->field_name); - term_query->set_boost(leaf_query->query_boost); - for (auto field_value : leaf_query->term_query_ptr->field_value) { - auto value = term_query->add_values(); - *value = field_value; + + for (auto leaf_query : query->GetLeafQueries()) { + auto grpc_query = grpc_boolean_query->add_general_query(); + if (leaf_query->term_query_ptr != nullptr) { + auto term_query = grpc_query->mutable_term_query(); + term_query->set_field_name(leaf_query->term_query_ptr->field_name); + term_query->set_boost(leaf_query->query_boost); + term_query->set_values(leaf_query->term_query_ptr->field_value.data(), + leaf_query->term_query_ptr->field_value.size()); + } + if (leaf_query->range_query_ptr != nullptr) { + auto range_query = grpc_query->mutable_range_query(); + range_query->set_boost(leaf_query->query_boost); + range_query->set_field_name(leaf_query->range_query_ptr->field_name); + for (auto com_expr : leaf_query->range_query_ptr->compare_expr) { + auto grpc_com_expr = range_query->add_operand(); + grpc_com_expr->set_operand(com_expr.operand); + grpc_com_expr->set_operator_((milvus::grpc::CompareOperator)com_expr.compare_operator); + } + } + if (leaf_query->vector_query_ptr != nullptr) { + auto vector_query = grpc_query->mutable_vector_query(); + vector_query->set_field_name(leaf_query->vector_query_ptr->field_name); + vector_query->set_query_boost(leaf_query->query_boost); + vector_query->set_topk(leaf_query->vector_query_ptr->topk); + for (auto record : leaf_query->vector_query_ptr->query_vector) { + ::milvus::grpc::RowRecord* row_record = vector_query->add_records(); + CopyRowRecord(row_record, record); + } + auto extra_param = vector_query->add_extra_params(); + extra_param->set_key(EXTRA_PARAM_KEY); + extra_param->set_value(leaf_query->vector_query_ptr->extra_params); } } - if (leaf_query->range_query_ptr != nullptr) { - auto range_query = grpc_query->mutable_range_query(); - range_query->set_boost(leaf_query->query_boost); - range_query->set_field_name(leaf_query->range_query_ptr->field_name); - for (auto com_expr : leaf_query->range_query_ptr->compare_expr) { - auto grpc_com_expr = range_query->add_operand(); - grpc_com_expr->set_operand(com_expr.operand); - grpc_com_expr->set_operator_((milvus::grpc::CompareOperator)com_expr.compare_operator); - } - } - if (leaf_query->vector_query_ptr != nullptr) { - auto vector_query = grpc_query->mutable_vector_query(); - vector_query->set_field_name(leaf_query->vector_query_ptr->field_name); - vector_query->set_query_boost(leaf_query->query_boost); - vector_query->set_topk(leaf_query->vector_query_ptr->topk); - for (auto record : leaf_query->vector_query_ptr->query_vector) { - ::milvus::grpc::RowRecord* row_record = vector_query->add_records(); - CopyRowRecord(row_record, record); - } - auto extra_param = vector_query->add_extra_params(); - extra_param->set_key(EXTRA_PARAM_KEY); - extra_param->set_value(leaf_query->vector_query_ptr->extra_params); + + if (!query->GetBooleanQueries().empty()) { + ::milvus::grpc::GeneralQuery* next_query = grpc_boolean_query->add_general_query(); + WriteQueryToProto(next_query, query); } } } diff --git a/sdk/include/GeneralQuery.h b/sdk/include/GeneralQuery.h index 645fc70cc5..ffdf9b0c39 100644 --- a/sdk/include/GeneralQuery.h +++ b/sdk/include/GeneralQuery.h @@ -57,7 +57,7 @@ struct QueryColumn { }; struct TermQuery : Query { - std::vector field_value; + std::vector field_value; }; using TermQueryPtr = std::shared_ptr; diff --git a/sdk/include/MilvusApi.h b/sdk/include/MilvusApi.h index 9fa688998e..9de3895bc9 100644 --- a/sdk/include/MilvusApi.h +++ b/sdk/include/MilvusApi.h @@ -148,13 +148,12 @@ struct HMapping { }; struct HEntity { - std::unordered_map> numerica_value; + int64_t row_num; + std::unordered_map> numerica_value; std::unordered_map> vector_value; }; - - /** * @brief SDK main class */ From 9bfd48cdf5a1b3538b5919ea28744b7eb87a3eac Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 22 Apr 2020 15:16:37 +0800 Subject: [PATCH 03/49] move the definiation to cpp file (#2033) Signed-off-by: Ben --- .../knowhere/index/vector_index/IndexType.cpp | 17 ++++++++++++ .../knowhere/index/vector_index/IndexType.h | 26 +++++++++---------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexType.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexType.cpp index bb7aec4ed2..7192e93f4c 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexType.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexType.cpp @@ -55,6 +55,23 @@ static std::unordered_map str_old_index_type_map = { {IndexEnum::INDEX_FAISS_BIN_IVFFLAT, (int32_t)OldIndexType::FAISS_BIN_IVFLAT_CPU}, }; +/* used in 0.8.0 */ +namespace IndexEnum { +const char* INVALID = ""; +const char* INDEX_FAISS_IDMAP = "IDMAP"; +const char* INDEX_FAISS_IVFFLAT = "IVF_FLAT"; +const char* INDEX_FAISS_IVFPQ = "IVF_PQ"; +const char* INDEX_FAISS_IVFSQ8 = "IVF_SQ8"; +const char* INDEX_FAISS_IVFSQ8H = "IVF_SQ8_HYBRID"; +const char* INDEX_FAISS_BIN_IDMAP = "BIN_IDMAP"; +const char* INDEX_FAISS_BIN_IVFFLAT = "BIN_IVF_FLAT"; +const char* INDEX_NSG = "NSG"; +const char* INDEX_SPTAG_KDT_RNT = "SPTAG_KDT_RNT"; +const char* INDEX_SPTAG_BKT_RNT = "SPTAG_BKT_RNT"; +const char* INDEX_HNSW = "HNSW"; +const char* INDEX_ANNOY = "ANNOY"; +} // namespace IndexEnum + std::string OldIndexTypeToStr(const int32_t type) { try { diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexType.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexType.h index fcb1dbd430..941b56cbd0 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexType.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexType.h @@ -43,19 +43,19 @@ using IndexType = std::string; /* used in 0.8.0 */ namespace IndexEnum { -constexpr const char* INVALID = ""; -constexpr const char* INDEX_FAISS_IDMAP = "IDMAP"; -constexpr const char* INDEX_FAISS_IVFFLAT = "IVF_FLAT"; -constexpr const char* INDEX_FAISS_IVFPQ = "IVF_PQ"; -constexpr const char* INDEX_FAISS_IVFSQ8 = "IVF_SQ8"; -constexpr const char* INDEX_FAISS_IVFSQ8H = "IVF_SQ8_HYBRID"; -constexpr const char* INDEX_FAISS_BIN_IDMAP = "BIN_IDMAP"; -constexpr const char* INDEX_FAISS_BIN_IVFFLAT = "BIN_IVF_FLAT"; -constexpr const char* INDEX_NSG = "NSG"; -constexpr const char* INDEX_SPTAG_KDT_RNT = "SPTAG_KDT_RNT"; -constexpr const char* INDEX_SPTAG_BKT_RNT = "SPTAG_BKT_RNT"; -constexpr const char* INDEX_HNSW = "HNSW"; -constexpr const char* INDEX_ANNOY = "ANNOY"; +extern const char* INVALID; +extern const char* INDEX_FAISS_IDMAP; +extern const char* INDEX_FAISS_IVFFLAT; +extern const char* INDEX_FAISS_IVFPQ; +extern const char* INDEX_FAISS_IVFSQ8; +extern const char* INDEX_FAISS_IVFSQ8H; +extern const char* INDEX_FAISS_BIN_IDMAP; +extern const char* INDEX_FAISS_BIN_IVFFLAT; +extern const char* INDEX_NSG; +extern const char* INDEX_SPTAG_KDT_RNT; +extern const char* INDEX_SPTAG_BKT_RNT; +extern const char* INDEX_HNSW; +extern const char* INDEX_ANNOY; } // namespace IndexEnum enum class IndexMode { MODE_CPU = 0, MODE_GPU = 1 }; From 72cae5221c87d0062b20342076bfaeba296c60fc Mon Sep 17 00:00:00 2001 From: Fierralin Date: Wed, 22 Apr 2020 18:39:04 +0800 Subject: [PATCH 04/49] Move NULL to nullptr (#2027) * Move NULL to nullptr Signed-off-by: Fierralin * Try fix Signed-off-by: Fierralin --- .../AnnService/inc/Core/Common/CommonUtils.h | 6 +- .../thirdparty/annoy/src/annoygomodule.h | 4 +- .../src/index/thirdparty/annoy/src/annoylib.h | 34 ++--- .../thirdparty/annoy/src/annoyluamodule.cc | 12 +- .../index/thirdparty/annoy/src/annoymodule.cc | 138 +++++++++--------- .../faiss/gpu/utils/DeviceMemory.cpp | 10 +- .../faiss_benchmark/faiss_benchmark_test.cpp | 8 +- .../faiss_benchmark/faiss_bitset_test.cpp | 8 +- core/src/index/unittest/test_annoy.cpp | 4 +- core/src/index/unittest/test_hnsw.cpp | 4 +- core/src/index/unittest/test_knowhere.cpp | 8 +- core/src/index/unittest/test_wrapper.cpp | 32 ++-- 12 files changed, 134 insertions(+), 134 deletions(-) diff --git a/core/src/index/thirdparty/SPTAG/AnnService/inc/Core/Common/CommonUtils.h b/core/src/index/thirdparty/SPTAG/AnnService/inc/Core/Common/CommonUtils.h index 4bc8fbb60f..96a8d0b4fa 100644 --- a/core/src/index/thirdparty/SPTAG/AnnService/inc/Core/Common/CommonUtils.h +++ b/core/src/index/thirdparty/SPTAG/AnnService/inc/Core/Common/CommonUtils.h @@ -63,13 +63,13 @@ namespace SPTAG static double GetVector(char* cstr, const char* sep, std::vector& arr, DimensionType& NumDim) { char* current; - char* context = NULL; + char* context = nullptr; DimensionType i = 0; double sum = 0; arr.clear(); current = strtok_s(cstr, sep, &context); - while (current != NULL && (i < NumDim || NumDim < 0)) { + while (current != nullptr && (i < NumDim || NumDim < 0)) { try { float val = (float)atof(current); arr.push_back(val); @@ -80,7 +80,7 @@ namespace SPTAG } sum += arr[i] * arr[i]; - current = strtok_s(NULL, sep, &context); + current = strtok_s(nullptr, sep, &context); i++; } diff --git a/core/src/index/thirdparty/annoy/src/annoygomodule.h b/core/src/index/thirdparty/annoy/src/annoygomodule.h index 005ed06558..c5fb408419 100644 --- a/core/src/index/thirdparty/annoy/src/annoygomodule.h +++ b/core/src/index/thirdparty/annoy/src/annoygomodule.h @@ -44,10 +44,10 @@ class AnnoyIndex { ptr->get_nns_by_vector(w, n, search_k, result, distances); }; void getNnsByItem(int item, int n, int search_k, vector* result) { - ptr->get_nns_by_item(item, n, search_k, result, NULL); + ptr->get_nns_by_item(item, n, search_k, result, nullptr); }; void getNnsByVector(const float* w, int n, int search_k, vector* result) { - ptr->get_nns_by_vector(w, n, search_k, result, NULL); + ptr->get_nns_by_vector(w, n, search_k, result, nullptr); }; int getNItems() { diff --git a/core/src/index/thirdparty/annoy/src/annoylib.h b/core/src/index/thirdparty/annoy/src/annoylib.h index e0ed29fd46..b418869894 100644 --- a/core/src/index/thirdparty/annoy/src/annoylib.h +++ b/core/src/index/thirdparty/annoy/src/annoylib.h @@ -824,15 +824,15 @@ struct Manhattan : Minkowski { template class AnnoyIndexInterface { public: - // Note that the methods with an **error argument will allocate memory and write the pointer to that string if error is non-NULL + // Note that the methods with an **error argument will allocate memory and write the pointer to that string if error is non-nullptr virtual ~AnnoyIndexInterface() {}; - virtual bool add_item(S item, const T* w, char** error=NULL) = 0; - virtual bool build(int q, char** error=NULL) = 0; - virtual bool unbuild(char** error=NULL) = 0; - virtual bool save(const char* filename, bool prefault=false, char** error=NULL) = 0; + virtual bool add_item(S item, const T* w, char** error=nullptr) = 0; + virtual bool build(int q, char** error=nullptr) = 0; + virtual bool unbuild(char** error=nullptr) = 0; + virtual bool save(const char* filename, bool prefault=false, char** error=nullptr) = 0; virtual void unload() = 0; - virtual bool load(const char* filename, bool prefault=false, char** error=NULL) = 0; - virtual bool load_index(void* index_data, const int64_t& index_size, char** error = NULL) = 0; + virtual bool load(const char* filename, bool prefault=false, char** error=nullptr) = 0; + virtual bool load_index(void* index_data, const int64_t& index_size, char** error = nullptr) = 0; virtual T get_distance(S i, S j) const = 0; virtual void get_nns_by_item(S item, size_t n, int search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset = nullptr) const = 0; @@ -846,7 +846,7 @@ class AnnoyIndexInterface { virtual void verbose(bool v) = 0; virtual void get_item(S item, T* v) const = 0; virtual void set_seed(int q) = 0; - virtual bool on_disk_build(const char* filename, char** error=NULL) = 0; + virtual bool on_disk_build(const char* filename, char** error=nullptr) = 0; }; template @@ -894,12 +894,12 @@ public: return _f; } - bool add_item(S item, const T* w, char** error=NULL) { + bool add_item(S item, const T* w, char** error=nullptr) { return add_item_impl(item, w, error); } template - bool add_item_impl(S item, const W& w, char** error=NULL) { + bool add_item_impl(S item, const W& w, char** error=nullptr) { if (_loaded) { set_error_from_string(error, "You can't add an item to a loaded index"); return false; @@ -924,7 +924,7 @@ public: return true; } - bool on_disk_build(const char* file, char** error=NULL) { + bool on_disk_build(const char* file, char** error=nullptr) { _on_disk = true; _fd = open(file, O_RDWR | O_CREAT | O_TRUNC, (int) 0600); if (_fd == -1) { @@ -945,7 +945,7 @@ public: return true; } - bool build(int q, char** error=NULL) { + bool build(int q, char** error=nullptr) { if (_loaded) { set_error_from_string(error, "You can't build a loaded index"); return false; @@ -997,7 +997,7 @@ public: return true; } - bool unbuild(char** error=NULL) { + bool unbuild(char** error=nullptr) { if (_loaded) { set_error_from_string(error, "You can't unbuild a loaded index"); return false; @@ -1010,7 +1010,7 @@ public: return true; } - bool save(const char* filename, bool prefault=false, char** error=NULL) { + bool save(const char* filename, bool prefault=false, char** error=nullptr) { if (!_built) { set_error_from_string(error, "You can't save an index that hasn't been built"); return false; @@ -1022,7 +1022,7 @@ public: unlink(filename); FILE *f = fopen(filename, "wb"); - if (f == NULL) { + if (f == nullptr) { set_error_from_errno(error, "Unable to open"); return false; } @@ -1044,7 +1044,7 @@ public: void reinitialize() { _fd = 0; - _nodes = NULL; + _nodes = nullptr; _loaded = false; _n_items = 0; _n_nodes = 0; @@ -1071,7 +1071,7 @@ public: if (_verbose) showUpdate("unloaded\n"); } - bool load(const char* filename, bool prefault=false, char** error=NULL) { + bool load(const char* filename, bool prefault=false, char** error=nullptr) { _fd = open(filename, O_RDONLY, (int)0400); if (_fd == -1) { set_error_from_errno(error, "Unable to open"); diff --git a/core/src/index/thirdparty/annoy/src/annoyluamodule.cc b/core/src/index/thirdparty/annoy/src/annoyluamodule.cc index 76fec7c9e0..4f483d2d3d 100644 --- a/core/src/index/thirdparty/annoy/src/annoyluamodule.cc +++ b/core/src/index/thirdparty/annoy/src/annoyluamodule.cc @@ -21,7 +21,7 @@ #include "kissrandom.h" #if LUA_VERSION_NUM == 501 -#define compat_setfuncs(L, funcs) luaL_register(L, NULL, funcs) +#define compat_setfuncs(L, funcs) luaL_register(L, nullptr, funcs) #define compat_rawlen lua_objlen #else #define compat_setfuncs(L, funcs) luaL_setfuncs(L, funcs, 0) @@ -203,7 +203,7 @@ public: Searcher s(L); int item = getItemIndex(L, 2, s.self->get_n_items()); s.self->get_nns_by_item(item, s.n, s.search_k, &s.result, - s.include_distances ? &s.distances : NULL); + s.include_distances ? &s.distances : nullptr); return s.pushResults(L); } @@ -213,7 +213,7 @@ public: AnnoyT* vec = &(_vec[0]); toVector(L, 2, s.self->get_f(), vec); s.self->get_nns_by_vector(vec, s.n, s.search_k, &s.result, - s.include_distances ? &s.distances : NULL); + s.include_distances ? &s.distances : nullptr); return s.pushResults(L); } @@ -246,7 +246,7 @@ public: static const luaL_Reg funcs[] = { {"__gc", &ThisClass::gc}, {"__tostring", &ThisClass::tostring}, - {NULL, NULL}, + {nullptr, nullptr}, }; return funcs; } @@ -264,7 +264,7 @@ public: {"get_distance", &ThisClass::get_distance}, {"get_n_items", &ThisClass::get_n_items}, {"on_disk_build", &ThisClass::on_disk_build}, - {NULL, NULL}, + {nullptr, nullptr}, }; return funcs; } @@ -304,7 +304,7 @@ static int lua_an_make(lua_State* L) { static const luaL_Reg LUA_ANNOY_FUNCS[] = { {"AnnoyIndex", lua_an_make}, - {NULL, NULL}, + {nullptr, nullptr}, }; extern "C" { diff --git a/core/src/index/thirdparty/annoy/src/annoymodule.cc b/core/src/index/thirdparty/annoy/src/annoymodule.cc index f15a0cc692..6121a2bc41 100644 --- a/core/src/index/thirdparty/annoy/src/annoymodule.cc +++ b/core/src/index/thirdparty/annoy/src/annoymodule.cc @@ -96,7 +96,7 @@ public: _index.get_nns_by_item(item, n, search_k, result, &distances_internal); distances->insert(distances->begin(), distances_internal.begin(), distances_internal.end()); } else { - _index.get_nns_by_item(item, n, search_k, result, NULL); + _index.get_nns_by_item(item, n, search_k, result, nullptr); } }; void get_nns_by_vector(const float* w, size_t n, int search_k, vector* result, vector* distances) const { @@ -107,7 +107,7 @@ public: _index.get_nns_by_vector(&w_internal[0], n, search_k, result, &distances_internal); distances->insert(distances->begin(), distances_internal.begin(), distances_internal.end()); } else { - _index.get_nns_by_vector(&w_internal[0], n, search_k, result, NULL); + _index.get_nns_by_vector(&w_internal[0], n, search_k, result, nullptr); } }; int32_t get_n_items() const { return _index.get_n_items(); }; @@ -133,14 +133,14 @@ typedef struct { static PyObject * py_an_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { py_annoy *self = (py_annoy *)type->tp_alloc(type, 0); - if (self == NULL) { - return NULL; + if (self == nullptr) { + return nullptr; } - const char *metric = NULL; + const char *metric = nullptr; - static char const * kwlist[] = {"f", "metric", NULL}; + static char const * kwlist[] = {"f", "metric", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i|s", (char**)kwlist, &self->f, &metric)) - return NULL; + return nullptr; if (!metric) { // This keeps coming up, see #368 etc PyErr_WarnEx(PyExc_FutureWarning, "The default argument for metric will be removed " @@ -158,7 +158,7 @@ py_an_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { self->ptr = new AnnoyIndex(self->f); } else { PyErr_SetString(PyExc_ValueError, "No such metric"); - return NULL; + return nullptr; } return (PyObject *)self; @@ -168,11 +168,11 @@ py_an_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { static int py_an_init(py_annoy *self, PyObject *args, PyObject *kwargs) { // Seems to be needed for Python 3 - const char *metric = NULL; + const char *metric = nullptr; int f; - static char const * kwlist[] = {"f", "metric", NULL}; + static char const * kwlist[] = {"f", "metric", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i|s", (char**)kwlist, &f, &metric)) - return (int) NULL; + return (int) nullptr; return 0; } @@ -187,7 +187,7 @@ py_an_dealloc(py_annoy* self) { static PyMemberDef py_annoy_members[] = { {(char*)"f", T_INT, offsetof(py_annoy, f), 0, (char*)""}, - {NULL} /* Sentinel */ + {nullptr} /* Sentinel */ }; @@ -196,15 +196,15 @@ py_an_load(py_annoy *self, PyObject *args, PyObject *kwargs) { char *filename, *error; bool prefault = false; if (!self->ptr) - return NULL; - static char const * kwlist[] = {"fn", "prefault", NULL}; + return nullptr; + static char const * kwlist[] = {"fn", "prefault", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|b", (char**)kwlist, &filename, &prefault)) - return NULL; + return nullptr; if (!self->ptr->load(filename, prefault, &error)) { PyErr_SetString(PyExc_IOError, error); free(error); - return NULL; + return nullptr; } Py_RETURN_TRUE; } @@ -215,15 +215,15 @@ py_an_save(py_annoy *self, PyObject *args, PyObject *kwargs) { char *filename, *error; bool prefault = false; if (!self->ptr) - return NULL; - static char const * kwlist[] = {"fn", "prefault", NULL}; + return nullptr; + static char const * kwlist[] = {"fn", "prefault", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|b", (char**)kwlist, &filename, &prefault)) - return NULL; + return nullptr; if (!self->ptr->save(filename, prefault, &error)) { PyErr_SetString(PyExc_IOError, error); free(error); - return NULL; + return nullptr; } Py_RETURN_TRUE; } @@ -265,21 +265,21 @@ static PyObject* py_an_get_nns_by_item(py_annoy *self, PyObject *args, PyObject *kwargs) { int32_t item, n, search_k=-1, include_distances=0; if (!self->ptr) - return NULL; + return nullptr; - static char const * kwlist[] = {"i", "n", "search_k", "include_distances", NULL}; + static char const * kwlist[] = {"i", "n", "search_k", "include_distances", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii|ii", (char**)kwlist, &item, &n, &search_k, &include_distances)) - return NULL; + return nullptr; if (!check_constraints(self, item, false)) { - return NULL; + return nullptr; } vector result; vector distances; Py_BEGIN_ALLOW_THREADS; - self->ptr->get_nns_by_item(item, n, search_k, &result, include_distances ? &distances : NULL); + self->ptr->get_nns_by_item(item, n, search_k, &result, include_distances ? &distances : nullptr); Py_END_ALLOW_THREADS; return get_nns_to_python(result, distances, include_distances); @@ -315,22 +315,22 @@ py_an_get_nns_by_vector(py_annoy *self, PyObject *args, PyObject *kwargs) { PyObject* v; int32_t n, search_k=-1, include_distances=0; if (!self->ptr) - return NULL; + return nullptr; - static char const * kwlist[] = {"vector", "n", "search_k", "include_distances", NULL}; + static char const * kwlist[] = {"vector", "n", "search_k", "include_distances", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi|ii", (char**)kwlist, &v, &n, &search_k, &include_distances)) - return NULL; + return nullptr; vector w(self->f); if (!convert_list_to_vector(v, self->f, &w)) { - return NULL; + return nullptr; } vector result; vector distances; Py_BEGIN_ALLOW_THREADS; - self->ptr->get_nns_by_vector(&w[0], n, search_k, &result, include_distances ? &distances : NULL); + self->ptr->get_nns_by_vector(&w[0], n, search_k, &result, include_distances ? &distances : nullptr); Py_END_ALLOW_THREADS; return get_nns_to_python(result, distances, include_distances); @@ -341,12 +341,12 @@ static PyObject* py_an_get_item_vector(py_annoy *self, PyObject *args) { int32_t item; if (!self->ptr) - return NULL; + return nullptr; if (!PyArg_ParseTuple(args, "i", &item)) - return NULL; + return nullptr; if (!check_constraints(self, item, false)) { - return NULL; + return nullptr; } vector v(self->f); @@ -365,24 +365,24 @@ py_an_add_item(py_annoy *self, PyObject *args, PyObject* kwargs) { PyObject* v; int32_t item; if (!self->ptr) - return NULL; - static char const * kwlist[] = {"i", "vector", NULL}; + return nullptr; + static char const * kwlist[] = {"i", "vector", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO", (char**)kwlist, &item, &v)) - return NULL; + return nullptr; if (!check_constraints(self, item, true)) { - return NULL; + return nullptr; } vector w(self->f); if (!convert_list_to_vector(v, self->f, &w)) { - return NULL; + return nullptr; } char* error; if (!self->ptr->add_item(item, &w[0], &error)) { PyErr_SetString(PyExc_Exception, error); free(error); - return NULL; + return nullptr; } Py_RETURN_NONE; @@ -392,15 +392,15 @@ static PyObject * py_an_on_disk_build(py_annoy *self, PyObject *args, PyObject *kwargs) { char *filename, *error; if (!self->ptr) - return NULL; - static char const * kwlist[] = {"fn", NULL}; + return nullptr; + static char const * kwlist[] = {"fn", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s", (char**)kwlist, &filename)) - return NULL; + return nullptr; if (!self->ptr->on_disk_build(filename, &error)) { PyErr_SetString(PyExc_IOError, error); free(error); - return NULL; + return nullptr; } Py_RETURN_TRUE; } @@ -409,10 +409,10 @@ static PyObject * py_an_build(py_annoy *self, PyObject *args, PyObject *kwargs) { int q; if (!self->ptr) - return NULL; - static char const * kwlist[] = {"n_trees", NULL}; + return nullptr; + static char const * kwlist[] = {"n_trees", nullptr}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", (char**)kwlist, &q)) - return NULL; + return nullptr; bool res; char* error; @@ -422,7 +422,7 @@ py_an_build(py_annoy *self, PyObject *args, PyObject *kwargs) { if (!res) { PyErr_SetString(PyExc_Exception, error); free(error); - return NULL; + return nullptr; } Py_RETURN_TRUE; @@ -432,13 +432,13 @@ py_an_build(py_annoy *self, PyObject *args, PyObject *kwargs) { static PyObject * py_an_unbuild(py_annoy *self) { if (!self->ptr) - return NULL; + return nullptr; char* error; if (!self->ptr->unbuild(&error)) { PyErr_SetString(PyExc_Exception, error); free(error); - return NULL; + return nullptr; } Py_RETURN_TRUE; @@ -448,7 +448,7 @@ py_an_unbuild(py_annoy *self) { static PyObject * py_an_unload(py_annoy *self) { if (!self->ptr) - return NULL; + return nullptr; self->ptr->unload(); @@ -460,12 +460,12 @@ static PyObject * py_an_get_distance(py_annoy *self, PyObject *args) { int32_t i, j; if (!self->ptr) - return NULL; + return nullptr; if (!PyArg_ParseTuple(args, "ii", &i, &j)) - return NULL; + return nullptr; if (!check_constraints(self, i, false) || !check_constraints(self, j, false)) { - return NULL; + return nullptr; } double d = self->ptr->get_distance(i,j); @@ -476,7 +476,7 @@ py_an_get_distance(py_annoy *self, PyObject *args) { static PyObject * py_an_get_n_items(py_annoy *self) { if (!self->ptr) - return NULL; + return nullptr; int32_t n = self->ptr->get_n_items(); return PyInt_FromLong(n); @@ -485,7 +485,7 @@ py_an_get_n_items(py_annoy *self) { static PyObject * py_an_get_n_trees(py_annoy *self) { if (!self->ptr) - return NULL; + return nullptr; int32_t n = self->ptr->get_n_trees(); return PyInt_FromLong(n); @@ -495,9 +495,9 @@ static PyObject * py_an_verbose(py_annoy *self, PyObject *args) { int verbose; if (!self->ptr) - return NULL; + return nullptr; if (!PyArg_ParseTuple(args, "i", &verbose)) - return NULL; + return nullptr; self->ptr->verbose((bool)verbose); @@ -509,9 +509,9 @@ static PyObject * py_an_set_seed(py_annoy *self, PyObject *args) { int q; if (!self->ptr) - return NULL; + return nullptr; if (!PyArg_ParseTuple(args, "i", &q)) - return NULL; + return nullptr; self->ptr->set_seed(q); @@ -535,12 +535,12 @@ static PyMethodDef AnnoyMethods[] = { {"get_n_trees",(PyCFunction)py_an_get_n_trees, METH_NOARGS, "Returns the number of trees in the index."}, {"verbose",(PyCFunction)py_an_verbose, METH_VARARGS, ""}, {"set_seed",(PyCFunction)py_an_set_seed, METH_VARARGS, "Sets the seed of Annoy's random number generator."}, - {NULL, NULL, 0, NULL} /* Sentinel */ + {nullptr, nullptr, 0, nullptr} /* Sentinel */ }; static PyTypeObject PyAnnoyType = { - PyVarObject_HEAD_INIT(NULL, 0) + PyVarObject_HEAD_INIT(nullptr, 0) "annoy.Annoy", /*tp_name*/ sizeof(py_annoy), /*tp_basicsize*/ 0, /*tp_itemsize*/ @@ -581,7 +581,7 @@ static PyTypeObject PyAnnoyType = { }; static PyMethodDef module_methods[] = { - {NULL} /* Sentinel */ + {nullptr} /* Sentinel */ }; #if PY_MAJOR_VERSION >= 3 @@ -591,10 +591,10 @@ static PyMethodDef module_methods[] = { ANNOY_DOC, /* m_doc */ -1, /* m_size */ module_methods, /* m_methods */ - NULL, /* m_reload */ - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL, /* m_free */ + nullptr, /* m_reload */ + nullptr, /* m_traverse */ + nullptr, /* m_clear */ + nullptr, /* m_free */ }; #endif @@ -602,7 +602,7 @@ PyObject *create_module(void) { PyObject *m; if (PyType_Ready(&PyAnnoyType) < 0) - return NULL; + return nullptr; #if PY_MAJOR_VERSION >= 3 m = PyModule_Create(&moduledef); @@ -610,8 +610,8 @@ PyObject *create_module(void) { m = Py_InitModule("annoylib", module_methods); #endif - if (m == NULL) - return NULL; + if (m == nullptr) + return nullptr; Py_INCREF(&PyAnnoyType); PyModule_AddObject(m, "Annoy", (PyObject *)&PyAnnoyType); diff --git a/core/src/index/thirdparty/faiss/gpu/utils/DeviceMemory.cpp b/core/src/index/thirdparty/faiss/gpu/utils/DeviceMemory.cpp index df00892e3b..2ce721986a 100644 --- a/core/src/index/thirdparty/faiss/gpu/utils/DeviceMemory.cpp +++ b/core/src/index/thirdparty/faiss/gpu/utils/DeviceMemory.cpp @@ -13,9 +13,9 @@ namespace faiss { namespace gpu { DeviceMemoryReservation::DeviceMemoryReservation() - : state_(NULL), + : state_(nullptr), device_(0), - data_(NULL), + data_(nullptr), size_(0), stream_(0) { } @@ -41,7 +41,7 @@ DeviceMemoryReservation::DeviceMemoryReservation( size_ = m.size_; stream_ = m.stream_; - m.data_ = NULL; + m.data_ = nullptr; } DeviceMemoryReservation::~DeviceMemoryReservation() { @@ -50,7 +50,7 @@ DeviceMemoryReservation::~DeviceMemoryReservation() { state_->returnAllocation(*this); } - data_ = NULL; + data_ = nullptr; } DeviceMemoryReservation& @@ -66,7 +66,7 @@ DeviceMemoryReservation::operator=(DeviceMemoryReservation&& m) { size_ = m.size_; stream_ = m.stream_; - m.data_ = NULL; + m.data_ = nullptr; return *this; } diff --git a/core/src/index/unittest/faiss_benchmark/faiss_benchmark_test.cpp b/core/src/index/unittest/faiss_benchmark/faiss_benchmark_test.cpp index ea01c61b35..a08b19daed 100644 --- a/core/src/index/unittest/faiss_benchmark/faiss_benchmark_test.cpp +++ b/core/src/index/unittest/faiss_benchmark/faiss_benchmark_test.cpp @@ -94,7 +94,7 @@ hdf5_read(const std::string& file_name, const std::string& dataset_name, H5T_cla assert(t_class == dataset_class || !"Illegal dataset class type"); dataspace = H5Dget_space(dataset); /* dataspace handle */ - H5Sget_simple_extent_dims(dataspace, dims_out, NULL); + H5Sget_simple_extent_dims(dataspace, dims_out, nullptr); n_out = dims_out[0]; d_out = dims_out[1]; @@ -102,20 +102,20 @@ hdf5_read(const std::string& file_name, const std::string& dataset_name, H5T_cla offset[0] = offset[1] = 0; count[0] = dims_out[0]; count[1] = dims_out[1]; - H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, NULL, count, NULL); + H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, nullptr, count, nullptr); /* Define the memory dataspace. */ dimsm[0] = dims_out[0]; dimsm[1] = dims_out[1]; dimsm[2] = 1; - memspace = H5Screate_simple(3, dimsm, NULL); + memspace = H5Screate_simple(3, dimsm, nullptr); /* Define memory hyperslab. */ offset_out[0] = offset_out[1] = offset_out[2] = 0; count_out[0] = dims_out[0]; count_out[1] = dims_out[1]; count_out[2] = 1; - H5Sselect_hyperslab(memspace, H5S_SELECT_SET, offset_out, NULL, count_out, NULL); + H5Sselect_hyperslab(memspace, H5S_SELECT_SET, offset_out, nullptr, count_out, nullptr); /* Read data from hyperslab in the file into the hyperslab in memory and display. */ switch (t_class) { diff --git a/core/src/index/unittest/faiss_benchmark/faiss_bitset_test.cpp b/core/src/index/unittest/faiss_benchmark/faiss_bitset_test.cpp index da4809746d..bd8fa1fff8 100644 --- a/core/src/index/unittest/faiss_benchmark/faiss_bitset_test.cpp +++ b/core/src/index/unittest/faiss_benchmark/faiss_bitset_test.cpp @@ -102,7 +102,7 @@ hdf5_read(const std::string& file_name, const std::string& dataset_name, H5T_cla assert(t_class == dataset_class || !"Illegal dataset class type"); dataspace = H5Dget_space(dataset); /* dataspace handle */ - H5Sget_simple_extent_dims(dataspace, dims_out, NULL); + H5Sget_simple_extent_dims(dataspace, dims_out, nullptr); n_out = dims_out[0]; d_out = dims_out[1]; @@ -110,20 +110,20 @@ hdf5_read(const std::string& file_name, const std::string& dataset_name, H5T_cla offset[0] = offset[1] = 0; count[0] = dims_out[0]; count[1] = dims_out[1]; - H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, NULL, count, NULL); + H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, nullptr, count, nullptr); /* Define the memory dataspace. */ dimsm[0] = dims_out[0]; dimsm[1] = dims_out[1]; dimsm[2] = 1; - memspace = H5Screate_simple(3, dimsm, NULL); + memspace = H5Screate_simple(3, dimsm, nullptr); /* Define memory hyperslab. */ offset_out[0] = offset_out[1] = offset_out[2] = 0; count_out[0] = dims_out[0]; count_out[1] = dims_out[1]; count_out[2] = 1; - H5Sselect_hyperslab(memspace, H5S_SELECT_SET, offset_out, NULL, count_out, NULL); + H5Sselect_hyperslab(memspace, H5S_SELECT_SET, offset_out, nullptr, count_out, nullptr); /* Read data from hyperslab in the file into the hyperslab in memory and display. */ switch (t_class) { diff --git a/core/src/index/unittest/test_annoy.cpp b/core/src/index/unittest/test_annoy.cpp index c3f56a7515..9faf0b0e9b 100644 --- a/core/src/index/unittest/test_annoy.cpp +++ b/core/src/index/unittest/test_annoy.cpp @@ -219,8 +219,8 @@ main() { } printf("gen xb and ids done! \n"); - // srand((unsigned)time(NULL)); - auto random_seed = (unsigned)time(NULL); + // srand((unsigned)time(nullptr)); + auto random_seed = (unsigned)time(nullptr); printf("delete ids: \n"); for (int i = 0; i < nq; i++) { auto tmp = rand_r(&random_seed) % nb; diff --git a/core/src/index/unittest/test_hnsw.cpp b/core/src/index/unittest/test_hnsw.cpp index b225e363f6..71c18cee83 100644 --- a/core/src/index/unittest/test_hnsw.cpp +++ b/core/src/index/unittest/test_hnsw.cpp @@ -154,8 +154,8 @@ main() { } // printf("gen xb and ids done! \n"); - // srand((unsigned)time(NULL)); - auto random_seed = (unsigned)time(NULL); + // srand((unsigned)time(nullptr)); + auto random_seed = (unsigned)time(nullptr); // printf("delete ids: \n"); for (int i = 0; i < nq; i++) { auto tmp = rand_r(&random_seed) % nb; diff --git a/core/src/index/unittest/test_knowhere.cpp b/core/src/index/unittest/test_knowhere.cpp index 2d6a783247..1e2fccf5c3 100644 --- a/core/src/index/unittest/test_knowhere.cpp +++ b/core/src/index/unittest/test_knowhere.cpp @@ -29,22 +29,22 @@ TEST_F(KnowhereTest, KNOWHERE_RESOURCE_TEST) { #ifdef MILVUS_GPU_VERSION fiu_init(0); - fiu_enable("check_config_gpu_resource_enable_fail", 1, NULL, 0); + fiu_enable("check_config_gpu_resource_enable_fail", 1, nullptr, 0); s = milvus::engine::KnowhereResource::Initialize(); ASSERT_FALSE(s.ok()); fiu_disable("check_config_gpu_resource_enable_fail"); - fiu_enable("KnowhereResource.Initialize.disable_gpu", 1, NULL, 0); + fiu_enable("KnowhereResource.Initialize.disable_gpu", 1, nullptr, 0); s = milvus::engine::KnowhereResource::Initialize(); ASSERT_TRUE(s.ok()); fiu_disable("KnowhereResource.Initialize.disable_gpu"); - fiu_enable("check_gpu_resource_config_build_index_fail", 1, NULL, 0); + fiu_enable("check_gpu_resource_config_build_index_fail", 1, nullptr, 0); s = milvus::engine::KnowhereResource::Initialize(); ASSERT_FALSE(s.ok()); fiu_disable("check_gpu_resource_config_build_index_fail"); - fiu_enable("check_gpu_resource_config_search_fail", 1, NULL, 0); + fiu_enable("check_gpu_resource_config_search_fail", 1, nullptr, 0); s = milvus::engine::KnowhereResource::Initialize(); ASSERT_FALSE(s.ok()); fiu_disable("check_gpu_resource_config_search_fail"); diff --git a/core/src/index/unittest/test_wrapper.cpp b/core/src/index/unittest/test_wrapper.cpp index 503768d31d..7798701838 100644 --- a/core/src/index/unittest/test_wrapper.cpp +++ b/core/src/index/unittest/test_wrapper.cpp @@ -115,35 +115,35 @@ TEST_P(KnowhereWrapperTest, BASE_TEST) { index_->GetDeviceId(); fiu_init(0); - fiu_enable("VecIndexImpl.BuildAll.throw_knowhere_exception", 1, NULL, 0); - fiu_enable("BFIndex.BuildAll.throw_knowhere_exception", 1, NULL, 0); - fiu_enable("IVFMixIndex.BuildAll.throw_knowhere_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.BuildAll.throw_knowhere_exception", 1, nullptr, 0); + fiu_enable("BFIndex.BuildAll.throw_knowhere_exception", 1, nullptr, 0); + fiu_enable("IVFMixIndex.BuildAll.throw_knowhere_exception", 1, nullptr, 0); auto s = index_->BuildAll(nb, xb.data(), ids.data(), conf); fiu_disable("IVFMixIndex.BuildAll.throw_knowhere_exception"); fiu_disable("BFIndex.BuildAll.throw_knowhere_exception"); fiu_disable("VecIndexImpl.BuildAll.throw_knowhere_exception"); - fiu_enable("VecIndexImpl.BuildAll.throw_std_exception", 1, NULL, 0); - fiu_enable("BFIndex.BuildAll.throw_std_exception", 1, NULL, 0); - fiu_enable("IVFMixIndex.BuildAll.throw_std_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.BuildAll.throw_std_exception", 1, nullptr, 0); + fiu_enable("BFIndex.BuildAll.throw_std_exception", 1, nullptr, 0); + fiu_enable("IVFMixIndex.BuildAll.throw_std_exception", 1, nullptr, 0); s = index_->BuildAll(nb, xb.data(), ids.data(), conf); fiu_disable("IVFMixIndex.BuildAll.throw_std_exception"); fiu_disable("BFIndex.BuildAll.throw_std_exception"); fiu_disable("VecIndexImpl.BuildAll.throw_std_exception"); - fiu_enable("VecIndexImpl.Add.throw_knowhere_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.Add.throw_knowhere_exception", 1, nullptr, 0); s = index_->Add(nb, xb.data(), ids.data()); fiu_disable("VecIndexImpl.Add.throw_knowhere_exception"); - fiu_enable("VecIndexImpl.Add.throw_std_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.Add.throw_std_exception", 1, nullptr, 0); s = index_->Add(nb, xb.data(), ids.data()); fiu_disable("VecIndexImpl.Add.throw_std_exception"); - fiu_enable("VecIndexImpl.Search.throw_knowhere_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.Search.throw_knowhere_exception", 1, nullptr, 0); s = index_->Search(nq, xq.data(), res_dis.data(), res_ids.data(), searchconf); fiu_disable("VecIndexImpl.Search.throw_knowhere_exception"); - fiu_enable("VecIndexImpl.Search.throw_std_exception", 1, NULL, 0); + fiu_enable("VecIndexImpl.Search.throw_std_exception", 1, nullptr, 0); s = index_->Search(nq, xq.data(), res_dis.data(), res_ids.data(), searchconf); fiu_disable("VecIndexImpl.Search.throw_std_exception"); } @@ -229,17 +229,17 @@ TEST_P(KnowhereWrapperTest, SERIALIZE_TEST) { { std::string file_location = "/tmp/knowhere_gpu_file"; fiu_init(0); - fiu_enable("VecIndex.write_index.throw_knowhere_exception", 1, NULL, 0); + fiu_enable("VecIndex.write_index.throw_knowhere_exception", 1, nullptr, 0); auto s = write_index(index_, file_location); ASSERT_FALSE(s.ok()); fiu_disable("VecIndex.write_index.throw_knowhere_exception"); - fiu_enable("VecIndex.write_index.throw_std_exception", 1, NULL, 0); + fiu_enable("VecIndex.write_index.throw_std_exception", 1, nullptr, 0); s = write_index(index_, file_location); ASSERT_FALSE(s.ok()); fiu_disable("VecIndex.write_index.throw_std_exception"); - fiu_enable("VecIndex.write_index.throw_no_space_exception", 1, NULL, 0); + fiu_enable("VecIndex.write_index.throw_no_space_exception", 1, nullptr, 0); s = write_index(index_, file_location); ASSERT_FALSE(s.ok()); fiu_disable("VecIndex.write_index.throw_no_space_exception"); @@ -294,7 +294,7 @@ TEST_P(KnowhereWrapperTest, SERIALIZE_TEST) { // conf.metric_type = knowhere::METRICTYPE::L2; // fiu_init(0); -// fiu_enable("IVFPQConfAdapter.Match.empty_resset", 1, NULL, 0); +// fiu_enable("IVFPQConfAdapter.Match.empty_resset", 1, nullptr, 0); // try { // ivf_pq_conf->Match(conf); // } catch (std::exception& e) { @@ -319,12 +319,12 @@ TEST(BFIndex, test_bf_index_fail) { milvus::engine::Config config; fiu_init(0); - fiu_enable("BFIndex.Build.throw_knowhere_exception", 1, NULL, 0); + fiu_enable("BFIndex.Build.throw_knowhere_exception", 1, nullptr, 0); auto err_code = bf_ptr->Build(config); ASSERT_EQ(err_code, milvus::KNOWHERE_UNEXPECTED_ERROR); fiu_disable("BFIndex.Build.throw_knowhere_exception"); - fiu_enable("BFIndex.Build.throw_std_exception", 1, NULL, 0); + fiu_enable("BFIndex.Build.throw_std_exception", 1, nullptr, 0); err_code = bf_ptr->Build(config); ASSERT_EQ(err_code, milvus::KNOWHERE_ERROR); fiu_disable("BFIndex.Build.throw_std_exception"); From a3e4d29af614c3f0f80735919529c27ed92154e4 Mon Sep 17 00:00:00 2001 From: ryjiang Date: Wed, 22 Apr 2020 20:15:09 +0800 Subject: [PATCH 05/49] Remove unused function (#2029) * [skip ci] Remove unused function Signed-off-by: shanghaikid Signed-off-by: ruiyi.jiang * remove unused function in utils.cpp Signed-off-by: ruiyi.jiang --- core/src/db/Utils.cpp | 6 ------ core/src/db/Utils.h | 3 --- 2 files changed, 9 deletions(-) diff --git a/core/src/db/Utils.cpp b/core/src/db/Utils.cpp index b79305220b..a862c03ef4 100644 --- a/core/src/db/Utils.cpp +++ b/core/src/db/Utils.cpp @@ -221,12 +221,6 @@ IsRawIndexType(int32_t type) { return (type == (int32_t)EngineType::FAISS_IDMAP) || (type == (int32_t)EngineType::FAISS_BIN_IDMAP); } -bool -IsBinaryIndexType(int32_t index_type) { - return (index_type == (int32_t)engine::EngineType::FAISS_BIN_IDMAP) || - (index_type == (int32_t)engine::EngineType::FAISS_BIN_IVFFLAT); -} - bool IsBinaryMetricType(int32_t metric_type) { return (metric_type == (int32_t)engine::MetricType::HAMMING) || diff --git a/core/src/db/Utils.h b/core/src/db/Utils.h index b57167295e..589ef060c7 100644 --- a/core/src/db/Utils.h +++ b/core/src/db/Utils.h @@ -48,9 +48,6 @@ IsSameIndex(const CollectionIndex& index1, const CollectionIndex& index2); bool IsRawIndexType(int32_t type); -static bool -IsBinaryIndexType(int32_t index_type); - bool IsBinaryMetricType(int32_t metric_type); From 44e8e0206537046ccd89306951ca704a545e0417 Mon Sep 17 00:00:00 2001 From: Yoya Date: Wed, 22 Apr 2020 20:16:55 +0800 Subject: [PATCH 06/49] remove unused function "preprocessor" (#2034) Signed-off-by: Yoya --- .../knowhere/knowhere/index/vector_index/IndexSPTAG.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp index f457eb9bc1..ddbc37ec80 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp @@ -121,11 +121,6 @@ CPUSPTAGRNG::Train(const DatasetPtr& origin, const Config& train_config) { DatasetPtr dataset = origin; - // if (index_ptr_->GetDistCalcMethod() == SPTAG::DistCalcMethod::Cosine - // && preprocessor_) { - // preprocessor_->Preprocess(dataset); - //} - auto vectorset = ConvertToVectorSet(dataset); auto metaset = ConvertToMetadataSet(dataset); index_ptr_->BuildIndex(vectorset, metaset); From 92508bcc0aef8bc34489af7ccbf3b625d1563fb9 Mon Sep 17 00:00:00 2001 From: Tlincy Date: Thu, 23 Apr 2020 09:35:51 +0800 Subject: [PATCH 07/49] Update LogUtils.cpp: use switch ... case to replace if ... else Signed-off-by: Tlincy <540549770@qq.com> --- core/src/utils/LogUtil.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/core/src/utils/LogUtil.cpp b/core/src/utils/LogUtil.cpp index 7c3a35f565..e94e8a8a27 100644 --- a/core/src/utils/LogUtil.cpp +++ b/core/src/utils/LogUtil.cpp @@ -54,27 +54,31 @@ RolloutHandler(const char* filename, std::size_t size, el::Level level) { int ret; std::string m(std::string(dir) + "/" + s); s = m; - if (level == el::Level::Global) { - s.append("." + std::to_string(++global_idx)); - ret = rename(m.c_str(), s.c_str()); - } else if (level == el::Level::Debug) { + switch(level){ + case el::Level::Debug: s.append("." + std::to_string(++debug_idx)); ret = rename(m.c_str(), s.c_str()); - } else if (level == el::Level::Warning) { + break; + case el::Level::Warning: s.append("." + std::to_string(++warning_idx)); ret = rename(m.c_str(), s.c_str()); - } else if (level == el::Level::Trace) { + break; + case el::Level::Trace: s.append("." + std::to_string(++trace_idx)); ret = rename(m.c_str(), s.c_str()); - } else if (level == el::Level::Error) { + break; + case el::Level::Error: s.append("." + std::to_string(++error_idx)); ret = rename(m.c_str(), s.c_str()); - } else if (level == el::Level::Fatal) { + break; + case el::Level::Fatal: s.append("." + std::to_string(++fatal_idx)); ret = rename(m.c_str(), s.c_str()); - } else { + break; + default: s.append("." + std::to_string(++global_idx)); ret = rename(m.c_str(), s.c_str()); + break; } } From ea5c9f01782273ed7961b81bc62428b42296da80 Mon Sep 17 00:00:00 2001 From: phantom Date: Thu, 23 Apr 2020 10:25:46 +0800 Subject: [PATCH 08/49] Update core/src/scheduler/JobMgr.cpp: format include (#2046) Signed-off-by: qingyigudu --- core/src/scheduler/JobMgr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/scheduler/JobMgr.cpp b/core/src/scheduler/JobMgr.cpp index 78e00ad6c8..d30ae6bcf3 100644 --- a/core/src/scheduler/JobMgr.cpp +++ b/core/src/scheduler/JobMgr.cpp @@ -11,8 +11,8 @@ #include "scheduler/JobMgr.h" -#include -#include +#include "src/db/Utils.h" +#include "src/segment/SegmentReader.h" #include #include From 26478a1bbb47f82420501b1da33a1b391cf6a882 Mon Sep 17 00:00:00 2001 From: Cupchen <34762375+Cupchen@users.noreply.github.com> Date: Thu, 23 Apr 2020 10:30:57 +0800 Subject: [PATCH 09/49] Update __init__.py: Remove unused ConnectionMgr (#2045) Signed-off-by: Cupchen --- shards/mishards/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shards/mishards/__init__.py b/shards/mishards/__init__.py index bf7ae33b9a..06473d99df 100644 --- a/shards/mishards/__init__.py +++ b/shards/mishards/__init__.py @@ -15,7 +15,7 @@ def create_app(testing_config=None): pool_recycle=config.SQL_POOL_RECYCLE, pool_timeout=config.SQL_POOL_TIMEOUT, pool_pre_ping=config.SQL_POOL_PRE_PING, max_overflow=config.SQL_MAX_OVERFLOW) - from mishards.connections import ConnectionMgr, ConnectionTopology + from mishards.connections import ConnectionTopology readonly_topo = ConnectionTopology() writable_topo = ConnectionTopology() From f4629b242e6c0c930e6250888541990932e426b7 Mon Sep 17 00:00:00 2001 From: AllenYu1987 Date: Thu, 23 Apr 2020 10:42:54 +0800 Subject: [PATCH 10/49] Update GrpcRequestHandler.cpp: Use std::copy to replace forloop assignment Signed-off-by: AllenYu1987 --- core/src/server/grpc_impl/GrpcRequestHandler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 076f23a140..5a0636b0d1 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -460,9 +460,7 @@ GrpcRequestHandler::Search(::grpc::ServerContext* context, const ::milvus::grpc: // step 2: partition tags std::vector partitions; - for (auto& partition : request->partition_tag_array()) { - partitions.emplace_back(partition); - } + std::copy(request->partition_tag_array().begin(), request->partition_tag_array().end(), std::back_inserter(partitions)); // step 3: parse extra parameters milvus::json json_params; From 23ad133c14bcb8847036befbd7ed12af271de5a9 Mon Sep 17 00:00:00 2001 From: JinHai-CN Date: Thu, 23 Apr 2020 10:45:34 +0800 Subject: [PATCH 11/49] Fix lint Signed-off-by: JinHai-CN --- core/src/utils/LogUtil.cpp | 50 +++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/core/src/utils/LogUtil.cpp b/core/src/utils/LogUtil.cpp index e94e8a8a27..1df0f71a23 100644 --- a/core/src/utils/LogUtil.cpp +++ b/core/src/utils/LogUtil.cpp @@ -54,31 +54,31 @@ RolloutHandler(const char* filename, std::size_t size, el::Level level) { int ret; std::string m(std::string(dir) + "/" + s); s = m; - switch(level){ - case el::Level::Debug: - s.append("." + std::to_string(++debug_idx)); - ret = rename(m.c_str(), s.c_str()); - break; - case el::Level::Warning: - s.append("." + std::to_string(++warning_idx)); - ret = rename(m.c_str(), s.c_str()); - break; - case el::Level::Trace: - s.append("." + std::to_string(++trace_idx)); - ret = rename(m.c_str(), s.c_str()); - break; - case el::Level::Error: - s.append("." + std::to_string(++error_idx)); - ret = rename(m.c_str(), s.c_str()); - break; - case el::Level::Fatal: - s.append("." + std::to_string(++fatal_idx)); - ret = rename(m.c_str(), s.c_str()); - break; - default: - s.append("." + std::to_string(++global_idx)); - ret = rename(m.c_str(), s.c_str()); - break; + switch (level) { + case el::Level::Debug: + s.append("." + std::to_string(++debug_idx)); + ret = rename(m.c_str(), s.c_str()); + break; + case el::Level::Warning: + s.append("." + std::to_string(++warning_idx)); + ret = rename(m.c_str(), s.c_str()); + break; + case el::Level::Trace: + s.append("." + std::to_string(++trace_idx)); + ret = rename(m.c_str(), s.c_str()); + break; + case el::Level::Error: + s.append("." + std::to_string(++error_idx)); + ret = rename(m.c_str(), s.c_str()); + break; + case el::Level::Fatal: + s.append("." + std::to_string(++fatal_idx)); + ret = rename(m.c_str(), s.c_str()); + break; + default: + s.append("." + std::to_string(++global_idx)); + ret = rename(m.c_str(), s.c_str()); + break; } } From 7d63d15718425943594d3ca8edae541762097d0c Mon Sep 17 00:00:00 2001 From: JinHai-CN Date: Thu, 23 Apr 2020 10:53:33 +0800 Subject: [PATCH 12/49] Fix lint Signed-off-by: JinHai-CN --- core/src/server/grpc_impl/GrpcRequestHandler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 5a0636b0d1..9dc1fbd3f6 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -12,6 +12,7 @@ #include "server/grpc_impl/GrpcRequestHandler.h" #include +#include #include #include #include @@ -460,7 +461,8 @@ GrpcRequestHandler::Search(::grpc::ServerContext* context, const ::milvus::grpc: // step 2: partition tags std::vector partitions; - std::copy(request->partition_tag_array().begin(), request->partition_tag_array().end(), std::back_inserter(partitions)); + std::copy(request->partition_tag_array().begin(), request->partition_tag_array().end(), + std::back_inserter(partitions)); // step 3: parse extra parameters milvus::json json_params; From ce44da04e19607b03109d28f76c9562aa218f0a7 Mon Sep 17 00:00:00 2001 From: Gxz <52496626+guoxiangzhou@users.noreply.github.com> Date: Thu, 23 Apr 2020 11:02:39 +0800 Subject: [PATCH 13/49] unused var: s (#2042) Signed-off-by: guoxiangzhou <8188755@qq.com> --- core/src/utils/CommonUtil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/utils/CommonUtil.cpp b/core/src/utils/CommonUtil.cpp index 361a06b029..39c510f562 100644 --- a/core/src/utils/CommonUtil.cpp +++ b/core/src/utils/CommonUtil.cpp @@ -256,7 +256,7 @@ CommonUtil::EraseFromCache(const std::string& item_key) { #ifdef MILVUS_GPU_VERSION server::Config& config = server::Config::GetInstance(); std::vector gpus; - Status s = config.GetGpuResourceConfigSearchResources(gpus); + config.GetGpuResourceConfigSearchResources(gpus); for (auto& gpu : gpus) { cache::GpuCacheMgr::GetInstance(gpu)->EraseItem(item_key); } From b23beebbfdcefab51ffd4e0eaf1b3f4e5be1556f Mon Sep 17 00:00:00 2001 From: moe-of-faith Date: Thu, 23 Apr 2020 11:03:10 +0800 Subject: [PATCH 14/49] Change LogOut("[%s][%d]" ..... ) to LogOut("[%s][%ld]" ......) (#2041) Signed-off-by: moe-of-faith --- .../server/delivery/request/SearchRequest.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/core/src/server/delivery/request/SearchRequest.cpp b/core/src/server/delivery/request/SearchRequest.cpp index 5836d90b06..48af1c86e7 100644 --- a/core/src/server/delivery/request/SearchRequest.cpp +++ b/core/src/server/delivery/request/SearchRequest.cpp @@ -62,14 +62,14 @@ SearchRequest::OnPreExecute() { // step 1: check collection name auto status = ValidationUtil::ValidateCollectionName(collection_name_); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] %s", "search", 0, status.message().c_str()); return status; } // step 2: check search topk status = ValidationUtil::ValidateSearchTopk(topk_); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] %s", "search", 0, status.message().c_str()); return status; } @@ -77,7 +77,7 @@ SearchRequest::OnPreExecute() { status = ValidationUtil::ValidatePartitionTags(partition_list_); fiu_do_on("SearchRequest.OnExecute.invalid_partition_tags", status = Status(milvus::SERVER_UNEXPECTED_ERROR, "")); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] %s", "search", 0, status.message().c_str()); return status; } @@ -92,7 +92,7 @@ SearchRequest::OnExecute() { fiu_do_on("SearchRequest.OnExecute.throw_std_exception", throw std::exception()); std::string hdr = "SearchRequest execute(collection=" + collection_name_ + ", nq=" + std::to_string(vector_count) + ", k=" + std::to_string(topk_) + ")"; - TimeRecorderAuto rc(LogOut("[%s][%d] %s", "search", 0, hdr.c_str())); + TimeRecorderAuto rc(LogOut("[%s][%ld] %s", "search", 0, hdr.c_str())); // step 4: check collection existence // only process root collection, ignore partition collection @@ -103,17 +103,17 @@ SearchRequest::OnExecute() { status = Status(milvus::SERVER_UNEXPECTED_ERROR, "")); if (!status.ok()) { if (status.code() == DB_NOT_FOUND) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Collection %s not found: %s", "search", 0, + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Collection %s not found: %s", "search", 0, collection_name_.c_str(), status.message().c_str()); return Status(SERVER_COLLECTION_NOT_EXIST, CollectionNotExistMsg(collection_name_)); } else { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Error occurred when describing collection %s: %s", "search", 0, + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Error occurred when describing collection %s: %s", "search", 0, collection_name_.c_str(), status.message().c_str()); return status; } } else { if (!collection_schema_.owner_collection_.empty()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] %s", "search", 0, + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] %s", "search", 0, CollectionNotExistMsg(collection_name_).c_str()); return Status(SERVER_INVALID_COLLECTION_NAME, CollectionNotExistMsg(collection_name_)); } @@ -122,14 +122,14 @@ SearchRequest::OnExecute() { // step 5: check search parameters status = ValidationUtil::ValidateSearchParams(extra_params_, collection_schema_, topk_); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Invalid search params: %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Invalid search params: %s", "search", 0, status.message().c_str()); return status; } // step 6: check vector data according to metric type status = ValidationUtil::ValidateVectorData(vectors_data_, collection_schema_); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Invalid vector data: %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Invalid vector data: %s", "search", 0, status.message().c_str()); return status; } @@ -159,7 +159,7 @@ SearchRequest::OnExecute() { #endif fiu_do_on("SearchRequest.OnExecute.query_fail", status = Status(milvus::SERVER_UNEXPECTED_ERROR, "")); if (!status.ok()) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Query fail: %s", "search", 0, status.message().c_str()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Query fail: %s", "search", 0, status.message().c_str()); return status; } fiu_do_on("SearchRequest.OnExecute.empty_result_ids", result_ids.clear()); @@ -174,7 +174,7 @@ SearchRequest::OnExecute() { result_.distance_list_.swap(result_distances); rc.RecordSection("construct result"); } catch (std::exception& ex) { - LOG_SERVER_ERROR_ << LogOut("[%s][%d] Encounter exception: %s", "search", 0, ex.what()); + LOG_SERVER_ERROR_ << LogOut("[%s][%ld] Encounter exception: %s", "search", 0, ex.what()); return Status(SERVER_UNEXPECTED_ERROR, ex.what()); } From 889681f63a434ed80c04942fef19225ce978c85b Mon Sep 17 00:00:00 2001 From: Cupchen Date: Thu, 23 Apr 2020 11:11:21 +0800 Subject: [PATCH 15/49] Remove whole class ConnectionMgr (#2048) * Update __init__.py: Remove unused ConnectionMgr Signed-off-by: Cupchen * Remove unused ConnectionMgr Signed-off-by: Cupchen * Remove unused ConnectionMgr Signed-off-by: Cupchen * Remove whole class ConnectionMgr Signed-off-by: Cupchen --- shards/mishards/connections.py | 93 ----------------------------- shards/mishards/test_connections.py | 27 +-------- shards/mishards/test_server.py | 2 +- 3 files changed, 2 insertions(+), 120 deletions(-) diff --git a/shards/mishards/connections.py b/shards/mishards/connections.py index fa9c52eddc..d66d0eee22 100644 --- a/shards/mishards/connections.py +++ b/shards/mishards/connections.py @@ -279,96 +279,3 @@ class ConnectionTopology(topology.Topology): if status == topology.StatusType.DUPLICATED: group = None return status, group - - -@singleton -class ConnectionMgr: - def __init__(self): - self.metas = {} - self.conns = {} - - @property - def conn_names(self): - return set(self.metas.keys()) - set(['WOSERVER']) - - def conn(self, name, metadata, throw=False): - c = self.conns.get(name, None) - if not c: - url = self.metas.get(name, None) - if not url: - if not throw: - return None - raise exceptions.ConnectionNotFoundError(message='Connection {} not found'.format(name), - metadata=metadata) - this_conn = Connection(name=name, uri=url, max_retry=settings.MAX_RETRY) - threaded = { - threading.get_ident(): this_conn - } - self.conns[name] = threaded - return this_conn - - tid = threading.get_ident() - rconn = c.get(tid, None) - if not rconn: - url = self.metas.get(name, None) - if not url: - if not throw: - return None - raise exceptions.ConnectionNotFoundError('Connection {} not found'.format(name), - metadata=metadata) - this_conn = Connection(name=name, uri=url, max_retry=settings.MAX_RETRY) - c[tid] = this_conn - return this_conn - - return rconn - - def on_new_meta(self, name, url): - logger.info('Register Connection: name={};url={}'.format(name, url)) - self.metas[name] = url - conn = self.conn(name, metadata=None) - conn.on_connect(metadata=None) - status, _ = conn.conn.server_version() - if not status.OK(): - logger.error('Cannot connect to newly added address: {}. Remove it now'.format(name)) - self.unregister(name) - return False - return True - - def on_duplicate_meta(self, name, url): - if self.metas[name] == url: - return self.on_same_meta(name, url) - - return self.on_diff_meta(name, url) - - def on_same_meta(self, name, url): - # logger.warning('Register same meta: {}:{}'.format(name, url)) - return True - - def on_diff_meta(self, name, url): - logger.warning('Received {} with diff url={}'.format(name, url)) - self.metas[name] = url - self.conns[name] = {} - return True - - def on_unregister_meta(self, name, url): - logger.info('Unregister name={};url={}'.format(name, url)) - self.conns.pop(name, None) - return True - - def on_nonexisted_meta(self, name): - logger.warning('Non-existed meta: {}'.format(name)) - return False - - def register(self, name, url): - meta = self.metas.get(name) - if not meta: - return self.on_new_meta(name, url) - else: - return self.on_duplicate_meta(name, url) - - def unregister(self, name): - logger.info('Unregister Connection: name={}'.format(name)) - url = self.metas.pop(name, None) - if url is None: - return self.on_nonexisted_meta(name) - return self.on_unregister_meta(name, url) diff --git a/shards/mishards/test_connections.py b/shards/mishards/test_connections.py index 5ed948f2a4..d87e38ff49 100644 --- a/shards/mishards/test_connections.py +++ b/shards/mishards/test_connections.py @@ -5,7 +5,7 @@ import random import threading from milvus import Milvus -from mishards.connections import (ConnectionMgr, Connection, +from mishards.connections import (Connection, ConnectionPool, ConnectionTopology, ConnectionGroup) from mishards.topology import StatusType from mishards import exceptions @@ -15,31 +15,6 @@ logger = logging.getLogger(__name__) @pytest.mark.usefixtures('app') class TestConnection: - @pytest.mark.skip - def test_manager(self): - mgr = ConnectionMgr() - - mgr.register('pod1', '111') - mgr.register('pod2', '222') - mgr.register('pod2', '222') - mgr.register('pod2', '2222') - assert len(mgr.conn_names) == 2 - - mgr.unregister('pod1') - assert len(mgr.conn_names) == 1 - - mgr.unregister('pod2') - assert len(mgr.conn_names) == 0 - - mgr.register('WOSERVER', 'xxxx') - assert len(mgr.conn_names) == 0 - - assert not mgr.conn('XXXX', None) - with pytest.raises(exceptions.ConnectionNotFoundError): - mgr.conn('XXXX', None, True) - - mgr.conn('WOSERVER', None) - def test_connection(self): class Conn: def __init__(self, state): diff --git a/shards/mishards/test_server.py b/shards/mishards/test_server.py index f7a1a63cac..cc586397a5 100644 --- a/shards/mishards/test_server.py +++ b/shards/mishards/test_server.py @@ -14,7 +14,7 @@ from mishards.service_handler import ServiceHandler from mishards.grpc_utils.grpc_args_parser import GrpcArgsParser as Parser from mishards.factories import TableFilesFactory, TablesFactory, TableFiles, Tables from mishards.router import RouterMixin -from mishards.connections import (ConnectionMgr, Connection, +from mishards.connections import (Connection, ConnectionPool, ConnectionTopology, ConnectionGroup) logger = logging.getLogger(__name__) From 58d0fa56de3c97127e43d0bcec07c4e7ea23da3d Mon Sep 17 00:00:00 2001 From: JinHai-CN Date: Thu, 23 Apr 2020 11:20:30 +0800 Subject: [PATCH 16/49] Fix error Signed-off-by: JinHai-CN --- core/src/server/web_impl/controller/WebController.hpp | 1 - core/src/server/web_impl/handler/WebRequestHandler.h | 1 - 2 files changed, 2 deletions(-) diff --git a/core/src/server/web_impl/controller/WebController.hpp b/core/src/server/web_impl/controller/WebController.hpp index d13f320382..ded3a3d97e 100644 --- a/core/src/server/web_impl/controller/WebController.hpp +++ b/core/src/server/web_impl/controller/WebController.hpp @@ -23,7 +23,6 @@ #include "utils/TimeRecorder.h" #include "server/web_impl/Constants.h" -#include "server/web_impl/dto/CmdDto.hpp" #include "server/web_impl/dto/ConfigDto.hpp" #include "server/web_impl/dto/IndexDto.hpp" #include "server/web_impl/dto/PartitionDto.hpp" diff --git a/core/src/server/web_impl/handler/WebRequestHandler.h b/core/src/server/web_impl/handler/WebRequestHandler.h index 7330427009..aeef4b9e12 100644 --- a/core/src/server/web_impl/handler/WebRequestHandler.h +++ b/core/src/server/web_impl/handler/WebRequestHandler.h @@ -26,7 +26,6 @@ #include "server/context/Context.h" #include "server/delivery/RequestHandler.h" #include "server/web_impl/Types.h" -#include "server/web_impl/dto/CmdDto.hpp" #include "server/web_impl/dto/ConfigDto.hpp" #include "server/web_impl/dto/DevicesDto.hpp" #include "server/web_impl/dto/IndexDto.hpp" From b55f2499382881bf7c6c1ac24a643ba61a12bfae Mon Sep 17 00:00:00 2001 From: Aredcap <1812530381@qq.com> Date: Thu, 23 Apr 2020 11:22:58 +0800 Subject: [PATCH 17/49] Assert cmd reply (#2030) * Assert cmd reply Signed-off-by: Aredcap * fix unittest error Signed-off-by: Aredcap --- core/unittest/server/test_rpc.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/unittest/server/test_rpc.cpp b/core/unittest/server/test_rpc.cpp index 5c9f4ff417..0c941ebbcc 100644 --- a/core/unittest/server/test_rpc.cpp +++ b/core/unittest/server/test_rpc.cpp @@ -935,19 +935,25 @@ TEST_F(RpcHandlerTest, CMD_TEST) { command.set_cmd("tasktable"); handler->Cmd(&context, &command, &reply); + ASSERT_EQ(reply.status().error_code(), ::grpc::Status::OK.error_code()); command.set_cmd("test"); handler->Cmd(&context, &command, &reply); + ASSERT_EQ(reply.status().error_code(), ::grpc::Status::OK.error_code()); command.set_cmd("status"); handler->Cmd(&context, &command, &reply); + ASSERT_EQ(reply.status().error_code(), ::grpc::Status::OK.error_code()); command.set_cmd("mode"); handler->Cmd(&context, &command, &reply); + ASSERT_EQ(reply.status().error_code(), ::grpc::Status::OK.error_code()); command.set_cmd("build_commit_id"); handler->Cmd(&context, &command, &reply); + ASSERT_EQ(reply.status().error_code(), ::grpc::Status::OK.error_code()); command.set_cmd("set_config"); handler->Cmd(&context, &command, &reply); + command.set_cmd("get_config"); handler->Cmd(&context, &command, &reply); } From fc969f73bad56c634624d60a5e5917ff5224ed66 Mon Sep 17 00:00:00 2001 From: loguo Date: Thu, 23 Apr 2020 11:27:29 +0800 Subject: [PATCH 18/49] Update DBImpl.cpp: rename flush_tables to flushed_collections (#2043) Signed-off-by: loguo --- core/src/db/DBImpl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index 5a2d527a7c..cdeebbd7b0 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -2289,12 +2289,12 @@ DBImpl::ExecWalRecord(const wal::MXLogRecord& record) { return status; } - std::set flushed_tables; + std::set flushed_collections; status = mem_mgr_->InsertEntities(target_collection_name, record.length, record.ids, (record.data_size / record.length / sizeof(float)), (const float*)record.data, record.attr_nbytes, record.attr_data_size, - record.attr_data, record.lsn, flushed_tables); - collections_flushed(flushed_tables); + record.attr_data, record.lsn, flushed_collections); + collections_flushed(flushed_collections); milvus::server::CollectInsertMetrics metrics(record.length, status); break; From db42b0bd94354f2d8388cace6976db4d375688cb Mon Sep 17 00:00:00 2001 From: del-zhenwu <56623710+del-zhenwu@users.noreply.github.com> Date: Thu, 23 Apr 2020 14:06:42 +0800 Subject: [PATCH 19/49] fix case bug (#2049) Signed-off-by: zw --- tests/milvus_python_test/test_add_vectors.py | 13 ++----- tests/milvus_python_test/test_collection.py | 14 ++----- .../test_collection_count.py | 8 +--- tests/milvus_python_test/test_flush.py | 7 +--- tests/milvus_python_test/test_index.py | 38 ++++--------------- 5 files changed, 19 insertions(+), 61 deletions(-) diff --git a/tests/milvus_python_test/test_add_vectors.py b/tests/milvus_python_test/test_add_vectors.py index faae9cdb64..c3e809dbba 100644 --- a/tests/milvus_python_test/test_add_vectors.py +++ b/tests/milvus_python_test/test_add_vectors.py @@ -589,20 +589,18 @@ class TestAddBase: expected: status ok and result length is equal to the length off added vectors ''' collection = gen_unique_str() - uri = "tcp://%s:%s" % (args["ip"], args["port"]) param = {'collection_name': collection, 'dimension': dim, 'index_file_size': index_file_size, 'metric_type': MetricType.L2} - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) milvus.create_collection(param) vector = gen_single_vector(dim) process_num = 4 loop_num = 5 processes = [] def add(): - milvus = get_milvus(args["handler"]) + milvus = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) milvus.connect(uri=uri) i = 0 while i < loop_num: @@ -634,19 +632,16 @@ class TestAddBase: thread_num = 8 threads = [] collection = gen_unique_str() - uri = "tcp://%s:%s" % (args["ip"], args["port"]) param = {'collection_name': collection, 'dimension': dim, 'index_file_size': index_file_size, 'metric_type': MetricType.L2} - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) milvus.create_collection(param) vectors = gen_vectors(nb, dim) def add(thread_i): logging.getLogger().info("In thread-%d" % thread_i) - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) status, result = milvus.add_vectors(collection, records=vectors) assert status.OK() status = milvus.flush([collection]) diff --git a/tests/milvus_python_test/test_collection.py b/tests/milvus_python_test/test_collection.py index 0eccbcbc5c..ecf5acdcaf 100644 --- a/tests/milvus_python_test/test_collection.py +++ b/tests/milvus_python_test/test_collection.py @@ -322,7 +322,6 @@ class TestCollection: expected: collection_name equals with the collection name created ''' collection_name = gen_unique_str("test_collection") - uri = "tcp://%s:%s" % (args["ip"], args["port"]) param = {'collection_name': collection_name, 'dimension': dim, 'index_file_size': index_file_size, @@ -336,8 +335,7 @@ class TestCollection: process_num = 4 processes = [] for i in range(process_num): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=describecollection, args=(milvus,)) processes.append(p) p.start() @@ -507,8 +505,6 @@ class TestCollection: ''' process_num = 6 processes = [] - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - def deletecollection(milvus): status = milvus.drop_collection(collection) # assert not status.code==0 @@ -516,8 +512,7 @@ class TestCollection: assert status.OK() for i in range(process_num): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=deletecollection, args=(milvus,)) processes.append(p) p.start() @@ -786,13 +781,11 @@ class TestCollection: expected: collection_name in show collections ''' collection_name = gen_unique_str("test_collection") - uri = "tcp://%s:%s" % (args["ip"], args["port"]) param = {'collection_name': collection_name, 'dimension': dim, 'index_file_size': index_file_size, 'metric_type': MetricType.L2} connect.create_collection(param) - def showcollections(milvus): status, result = milvus.show_collections() assert status.OK() @@ -802,8 +795,7 @@ class TestCollection: processes = [] for i in range(process_num): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=showcollections, args=(milvus,)) processes.append(p) p.start() diff --git a/tests/milvus_python_test/test_collection_count.py b/tests/milvus_python_test/test_collection_count.py index a669c9a40d..667796391b 100644 --- a/tests/milvus_python_test/test_collection_count.py +++ b/tests/milvus_python_test/test_collection_count.py @@ -181,7 +181,6 @@ class TestCollectionCount: expected: the count is equal to the length of vectors ''' nq = 2 - uri = "tcp://%s:%s" % (args["ip"], args["port"]) vectors = gen_vectors(nq, dim) res = connect.add_vectors(collection_name=collection, records=vectors) time.sleep(add_time_interval) @@ -194,8 +193,7 @@ class TestCollectionCount: process_num = 8 processes = [] for i in range(process_num): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=rows_count, args=(milvus, )) processes.append(p) p.start() @@ -326,7 +324,6 @@ class TestCollectionCountIP: expected: the count is equal to the length of vectors ''' nq = 2 - uri = "tcp://%s:%s" % (args["ip"], args["port"]) vectors = gen_vectors(nq, dim) res = connect.add_vectors(collection_name=ip_collection, records=vectors) time.sleep(add_time_interval) @@ -339,8 +336,7 @@ class TestCollectionCountIP: process_num = 8 processes = [] for i in range(process_num): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=rows_count, args=(milvus,)) processes.append(p) p.start() diff --git a/tests/milvus_python_test/test_flush.py b/tests/milvus_python_test/test_flush.py index 4cbaa20669..2bbd9c079f 100644 --- a/tests/milvus_python_test/test_flush.py +++ b/tests/milvus_python_test/test_flush.py @@ -203,19 +203,16 @@ class TestFlushBase: expected: status ok ''' collection = gen_unique_str() - uri = "tcp://%s:%s" % (args["ip"], args["port"]) param = {'collection_name': collection, 'dimension': dim, 'index_file_size': index_file_size, 'metric_type': MetricType.L2} - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) milvus.create_collection(param) vectors = gen_vector(nb, dim) status, ids = milvus.add_vectors(collection, vectors, ids=[i for i in range(nb)]) def flush(collection_name): - milvus = get_milvus(args["handler"]) - milvus.connect(uri=uri) + milvus = get_milvus(args["ip"], args["port"], handler=args["handler"]) status = milvus.delete_by_id(collection_name, [i for i in range(nb)]) assert status.OK() status = milvus.flush([collection_name]) diff --git a/tests/milvus_python_test/test_index.py b/tests/milvus_python_test/test_index.py index 289fca529e..c5460425c3 100644 --- a/tests/milvus_python_test/test_index.py +++ b/tests/milvus_python_test/test_index.py @@ -166,11 +166,8 @@ class TestIndexBase: threads_num = 8 threads = [] - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - for i in range(threads_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) t = threading.Thread(target=build, args=(m,)) threads.append(t) t.start() @@ -197,7 +194,6 @@ class TestIndexBase: threads_num = 8 loop_num = 8 threads = [] - collection = [] j = 0 while j < (threads_num*loop_num): @@ -215,7 +211,6 @@ class TestIndexBase: while i < loop_num: # assert connect.has_collection(collection[ids*process_num+i]) status, ids = connect.add_vectors(collection[ids*threads_num+i], vectors) - status = connect.create_index(collection[ids*threads_num+i], IndexType.IVFLAT, {"nlist": NLIST}) assert status.OK() query_vec = [vectors[0]] @@ -226,14 +221,10 @@ class TestIndexBase: assert len(result[0]) == top_k assert result[0][0].distance == 0.0 i = i + 1 - - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - for i in range(threads_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) ids = i - t = threading.Thread(target=create_index, args=(m,ids)) + t = threading.Thread(target=create_index, args=(m, ids)) threads.append(t) t.start() time.sleep(0.2) @@ -256,8 +247,7 @@ class TestIndexBase: threads = [] uri = "tcp://%s:%s" % (args["ip"], args["port"]) for i in range(threads_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) if(i % 2 == 0): p = threading.Thread(target=build, args=(m,)) else: @@ -286,11 +276,8 @@ class TestIndexBase: process_num = 8 processes = [] - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - for i in range(process_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) p = Process(target=build, args=(m,)) processes.append(p) p.start() @@ -347,11 +334,8 @@ class TestIndexBase: assert result[0][0].distance == 0.0 i = i + 1 - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - for i in range(process_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(host=args["ip"], port=args["port"], handler=args["handler"]) ids = i p = Process(target=create_index, args=(m,ids)) processes.append(p) @@ -792,18 +776,15 @@ class TestIndexIP: expected: return code equals to 0, and search success ''' status, ids = connect.add_vectors(ip_collection, vectors) - def build(connect): status = connect.create_index(ip_collection, IndexType.IVFLAT, {"nlist": NLIST}) assert status.OK() process_num = 8 processes = [] - uri = "tcp://%s:%s" % (args["ip"], args["port"]) for i in range(process_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(args["ip"], args["port"], handler=args["handler"]) p = Process(target=build, args=(m,)) processes.append(p) p.start() @@ -858,11 +839,8 @@ class TestIndexIP: assert result[0][0].distance == 0.0 i = i + 1 - uri = "tcp://%s:%s" % (args["ip"], args["port"]) - for i in range(process_num): - m = get_milvus(args["handler"]) - m.connect(uri=uri) + m = get_milvus(args["ip"], args["port"], handler=args["handler"]) ids = i p = Process(target=create_index, args=(m,ids)) processes.append(p) From 67819be29b58e828f622611da8087bd84dfdf8cf Mon Sep 17 00:00:00 2001 From: Wang XiangYu Date: Fri, 24 Apr 2020 15:23:46 +0800 Subject: [PATCH 20/49] warn when use sqlite as metadata management (#2065) Signed-off-by: wxyu --- CHANGELOG.md | 1 + core/src/db/meta/SqliteMetaImpl.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e82d95855e..2e4a0278cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Please mark all change in change log and use the issue from GitHub ## Feature - \#1965 FAISS/NSG/HNSW/ANNOY use unified distance calculation algorithm +- \#2064 Warn when use SQLite as metadata management ## Improvement - \#221 Refactor LOG macro diff --git a/core/src/db/meta/SqliteMetaImpl.cpp b/core/src/db/meta/SqliteMetaImpl.cpp index 7c6d3e1335..30569d0f6a 100644 --- a/core/src/db/meta/SqliteMetaImpl.cpp +++ b/core/src/db/meta/SqliteMetaImpl.cpp @@ -35,6 +35,9 @@ #include "utils/StringHelpFunctions.h" #include "utils/ValidationUtil.h" +#define USING_SQLITE_WARNING LOG_ENGINE_WARNING_ << \ + "You are using SQLite as the meta data management, which can't be used in production. Please change it to MySQL!"; + namespace milvus { namespace engine { namespace meta { @@ -242,6 +245,7 @@ SqliteMetaImpl::Initialize() { Status SqliteMetaImpl::CreateCollection(CollectionSchema& collection_schema) { + USING_SQLITE_WARNING try { server::MetricCollector metric; @@ -436,6 +440,7 @@ SqliteMetaImpl::DeleteCollectionFiles(const std::string& collection_id) { Status SqliteMetaImpl::CreateCollectionFile(SegmentSchema& file_schema) { + USING_SQLITE_WARNING if (file_schema.date_ == EmptyDate) { file_schema.date_ = utils::GetDate(); } @@ -899,6 +904,7 @@ SqliteMetaImpl::DropCollectionIndex(const std::string& collection_id) { Status SqliteMetaImpl::CreatePartition(const std::string& collection_id, const std::string& partition_name, const std::string& tag, uint64_t lsn) { + USING_SQLITE_WARNING server::MetricCollector metric; CollectionSchema collection_schema; @@ -1852,6 +1858,7 @@ SqliteMetaImpl::GetGlobalLastLSN(uint64_t& lsn) { Status SqliteMetaImpl::CreateHybridCollection(meta::CollectionSchema& collection_schema, meta::hybrid::FieldsSchema& fields_schema) { + USING_SQLITE_WARNING try { server::MetricCollector metric; @@ -1912,7 +1919,6 @@ SqliteMetaImpl::CreateHybridCollection(meta::CollectionSchema& collection_schema Status SqliteMetaImpl::DescribeHybridCollection(milvus::engine::meta::CollectionSchema& collection_schema, milvus::engine::meta::hybrid::FieldsSchema& fields_schema) { - try { server::MetricCollector metric; fiu_do_on("SqliteMetaImpl.DescriCollection.throw_exception", throw std::exception()); @@ -1970,7 +1976,7 @@ SqliteMetaImpl::DescribeHybridCollection(milvus::engine::meta::CollectionSchema& Status SqliteMetaImpl::CreateHybridCollectionFile(SegmentSchema& file_schema) { - + USING_SQLITE_WARNING if (file_schema.date_ == EmptyDate) { file_schema.date_ = utils::GetDate(); } From bf4cea1d1f316dc50c2912aeb60eddda04d84d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A0=BC=E9=9B=B7=E5=A4=A7=E5=A4=A7?= <56617657+gracezzzzz@users.noreply.github.com> Date: Fri, 24 Apr 2020 19:38:21 +0800 Subject: [PATCH 21/49] add log 4 annoy if index has been built when BuildAll interface invoked (#2071) * add log 4 annoy if index has been built when BuildAll interface invoked Signed-off-by: grace * fix lint error Signed-off-by: grace --- .../index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp index d0b966b51b..042b7a55e0 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp @@ -85,6 +85,7 @@ void IndexAnnoy::BuildAll(const DatasetPtr& dataset_ptr, const Config& config) { if (index_) { // it is builded all + KNOWHERE_LOG_DEBUG << "IndexAnnoy::BuildAll: index_ has been built!"; return; } From c0d5a47eba7014bca432c0974efdf332d6fdeed4 Mon Sep 17 00:00:00 2001 From: Wang XiangYu Date: Fri, 24 Apr 2020 19:42:17 +0800 Subject: [PATCH 22/49] rename optimizer to selector (#2067) * rename Signed-off-by: wxyu * fix clang-format Signed-off-by: wxyu --- core/src/CMakeLists.txt | 4 ++-- core/src/scheduler/JobMgr.cpp | 3 +-- core/src/scheduler/SchedInst.h | 16 ++++++++-------- .../{optimizer => selector}/BuildIndexPass.cpp | 2 +- .../{optimizer => selector}/BuildIndexPass.h | 2 +- .../{optimizer => selector}/FaissFlatPass.cpp | 2 +- .../{optimizer => selector}/FaissFlatPass.h | 2 +- .../{optimizer => selector}/FaissIVFFlatPass.cpp | 2 +- .../{optimizer => selector}/FaissIVFFlatPass.h | 2 +- .../{optimizer => selector}/FaissIVFPQPass.cpp | 2 +- .../{optimizer => selector}/FaissIVFPQPass.h | 2 +- .../{optimizer => selector}/FaissIVFSQ8HPass.cpp | 2 +- .../{optimizer => selector}/FaissIVFSQ8HPass.h | 2 +- .../{optimizer => selector}/FaissIVFSQ8Pass.cpp | 2 +- .../{optimizer => selector}/FaissIVFSQ8Pass.h | 2 +- .../{optimizer => selector}/FallbackPass.cpp | 2 +- .../{optimizer => selector}/FallbackPass.h | 0 .../{optimizer => selector}/Optimizer.cpp | 2 +- .../{optimizer => selector}/Optimizer.h | 0 .../src/scheduler/{optimizer => selector}/Pass.h | 0 core/unittest/CMakeLists.txt | 4 ++-- core/unittest/scheduler/CMakeLists.txt | 2 +- .../{test_optimizer.cpp => test_selector.cpp} | 14 +++++++------- 23 files changed, 35 insertions(+), 36 deletions(-) rename core/src/scheduler/{optimizer => selector}/BuildIndexPass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/BuildIndexPass.h (97%) rename core/src/scheduler/{optimizer => selector}/FaissFlatPass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/FaissFlatPass.h (97%) rename core/src/scheduler/{optimizer => selector}/FaissIVFFlatPass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/FaissIVFFlatPass.h (97%) rename core/src/scheduler/{optimizer => selector}/FaissIVFPQPass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/FaissIVFPQPass.h (97%) rename core/src/scheduler/{optimizer => selector}/FaissIVFSQ8HPass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/FaissIVFSQ8HPass.h (97%) rename core/src/scheduler/{optimizer => selector}/FaissIVFSQ8Pass.cpp (98%) rename core/src/scheduler/{optimizer => selector}/FaissIVFSQ8Pass.h (97%) rename core/src/scheduler/{optimizer => selector}/FallbackPass.cpp (96%) rename core/src/scheduler/{optimizer => selector}/FallbackPass.h (100%) rename core/src/scheduler/{optimizer => selector}/Optimizer.cpp (95%) rename core/src/scheduler/{optimizer => selector}/Optimizer.h (100%) rename core/src/scheduler/{optimizer => selector}/Pass.h (100%) rename core/unittest/scheduler/{test_optimizer.cpp => test_selector.cpp} (92%) diff --git a/core/src/CMakeLists.txt b/core/src/CMakeLists.txt index 6b8150cb64..6d5c7cd0d2 100644 --- a/core/src/CMakeLists.txt +++ b/core/src/CMakeLists.txt @@ -54,7 +54,7 @@ aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler scheduler_main_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/action scheduler_action_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/event scheduler_event_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/job scheduler_job_files) -aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/optimizer scheduler_optimizer_files) +aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/selector scheduler_selector_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/resource scheduler_resource_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/task scheduler_task_files) set(scheduler_files @@ -62,7 +62,7 @@ set(scheduler_files ${scheduler_action_files} ${scheduler_event_files} ${scheduler_job_files} - ${scheduler_optimizer_files} + ${scheduler_selector_files} ${scheduler_resource_files} ${scheduler_task_files} ) diff --git a/core/src/scheduler/JobMgr.cpp b/core/src/scheduler/JobMgr.cpp index d30ae6bcf3..1a2a9359f7 100644 --- a/core/src/scheduler/JobMgr.cpp +++ b/core/src/scheduler/JobMgr.cpp @@ -19,10 +19,9 @@ #include "SchedInst.h" #include "TaskCreator.h" -#include "optimizer/Optimizer.h" #include "scheduler/Algorithm.h" -#include "scheduler/optimizer/Optimizer.h" #include "scheduler/tasklabel/SpecResLabel.h" +#include "selector/Optimizer.h" #include "task/Task.h" namespace milvus { diff --git a/core/src/scheduler/SchedInst.h b/core/src/scheduler/SchedInst.h index 2ef7e5dd43..c78d271108 100644 --- a/core/src/scheduler/SchedInst.h +++ b/core/src/scheduler/SchedInst.h @@ -16,14 +16,14 @@ #include "ResourceMgr.h" #include "Scheduler.h" #include "Utils.h" -#include "optimizer/BuildIndexPass.h" -#include "optimizer/FaissFlatPass.h" -#include "optimizer/FaissIVFFlatPass.h" -#include "optimizer/FaissIVFPQPass.h" -#include "optimizer/FaissIVFSQ8HPass.h" -#include "optimizer/FaissIVFSQ8Pass.h" -#include "optimizer/FallbackPass.h" -#include "optimizer/Optimizer.h" +#include "selector/BuildIndexPass.h" +#include "selector/FaissFlatPass.h" +#include "selector/FaissIVFFlatPass.h" +#include "selector/FaissIVFPQPass.h" +#include "selector/FaissIVFSQ8HPass.h" +#include "selector/FaissIVFSQ8Pass.h" +#include "selector/FallbackPass.h" +#include "selector/Optimizer.h" #include #include diff --git a/core/src/scheduler/optimizer/BuildIndexPass.cpp b/core/src/scheduler/selector/BuildIndexPass.cpp similarity index 98% rename from core/src/scheduler/optimizer/BuildIndexPass.cpp rename to core/src/scheduler/selector/BuildIndexPass.cpp index b0702177f3..42a0736b0f 100644 --- a/core/src/scheduler/optimizer/BuildIndexPass.cpp +++ b/core/src/scheduler/selector/BuildIndexPass.cpp @@ -12,7 +12,7 @@ #include "scheduler/SchedInst.h" #include "scheduler/Utils.h" -#include "scheduler/optimizer/BuildIndexPass.h" +#include "scheduler/selector/BuildIndexPass.h" #include "scheduler/tasklabel/SpecResLabel.h" #ifdef MILVUS_GPU_VERSION namespace milvus { diff --git a/core/src/scheduler/optimizer/BuildIndexPass.h b/core/src/scheduler/selector/BuildIndexPass.h similarity index 97% rename from core/src/scheduler/optimizer/BuildIndexPass.h rename to core/src/scheduler/selector/BuildIndexPass.h index cd6095d38f..7f3b8047fc 100644 --- a/core/src/scheduler/optimizer/BuildIndexPass.h +++ b/core/src/scheduler/selector/BuildIndexPass.h @@ -23,7 +23,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FaissFlatPass.cpp b/core/src/scheduler/selector/FaissFlatPass.cpp similarity index 98% rename from core/src/scheduler/optimizer/FaissFlatPass.cpp rename to core/src/scheduler/selector/FaissFlatPass.cpp index bb9f0814f9..c3b86ee99b 100644 --- a/core/src/scheduler/optimizer/FaissFlatPass.cpp +++ b/core/src/scheduler/selector/FaissFlatPass.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. #ifdef MILVUS_GPU_VERSION -#include "scheduler/optimizer/FaissFlatPass.h" +#include "scheduler/selector/FaissFlatPass.h" #include "cache/GpuCacheMgr.h" #include "config/Config.h" #include "scheduler/SchedInst.h" diff --git a/core/src/scheduler/optimizer/FaissFlatPass.h b/core/src/scheduler/selector/FaissFlatPass.h similarity index 97% rename from core/src/scheduler/optimizer/FaissFlatPass.h rename to core/src/scheduler/selector/FaissFlatPass.h index 6878f1c4cb..a1ebeb9b47 100644 --- a/core/src/scheduler/optimizer/FaissFlatPass.h +++ b/core/src/scheduler/selector/FaissFlatPass.h @@ -24,7 +24,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FaissIVFFlatPass.cpp b/core/src/scheduler/selector/FaissIVFFlatPass.cpp similarity index 98% rename from core/src/scheduler/optimizer/FaissIVFFlatPass.cpp rename to core/src/scheduler/selector/FaissIVFFlatPass.cpp index cc45eb9e38..6ba62b3a0c 100644 --- a/core/src/scheduler/optimizer/FaissIVFFlatPass.cpp +++ b/core/src/scheduler/selector/FaissIVFFlatPass.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. #ifdef MILVUS_GPU_VERSION -#include "scheduler/optimizer/FaissIVFFlatPass.h" +#include "scheduler/selector/FaissIVFFlatPass.h" #include "cache/GpuCacheMgr.h" #include "config/Config.h" #include "scheduler/SchedInst.h" diff --git a/core/src/scheduler/optimizer/FaissIVFFlatPass.h b/core/src/scheduler/selector/FaissIVFFlatPass.h similarity index 97% rename from core/src/scheduler/optimizer/FaissIVFFlatPass.h rename to core/src/scheduler/selector/FaissIVFFlatPass.h index fe21996cda..dda315c64a 100644 --- a/core/src/scheduler/optimizer/FaissIVFFlatPass.h +++ b/core/src/scheduler/selector/FaissIVFFlatPass.h @@ -24,7 +24,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FaissIVFPQPass.cpp b/core/src/scheduler/selector/FaissIVFPQPass.cpp similarity index 98% rename from core/src/scheduler/optimizer/FaissIVFPQPass.cpp rename to core/src/scheduler/selector/FaissIVFPQPass.cpp index 53f16dd088..de213f4079 100644 --- a/core/src/scheduler/optimizer/FaissIVFPQPass.cpp +++ b/core/src/scheduler/selector/FaissIVFPQPass.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. #ifdef MILVUS_GPU_VERSION -#include "scheduler/optimizer/FaissIVFPQPass.h" +#include "scheduler/selector/FaissIVFPQPass.h" #include "cache/GpuCacheMgr.h" #include "config/Config.h" #include "scheduler/SchedInst.h" diff --git a/core/src/scheduler/optimizer/FaissIVFPQPass.h b/core/src/scheduler/selector/FaissIVFPQPass.h similarity index 97% rename from core/src/scheduler/optimizer/FaissIVFPQPass.h rename to core/src/scheduler/selector/FaissIVFPQPass.h index cb3239197a..f4fca581d2 100644 --- a/core/src/scheduler/optimizer/FaissIVFPQPass.h +++ b/core/src/scheduler/selector/FaissIVFPQPass.h @@ -24,7 +24,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FaissIVFSQ8HPass.cpp b/core/src/scheduler/selector/FaissIVFSQ8HPass.cpp similarity index 98% rename from core/src/scheduler/optimizer/FaissIVFSQ8HPass.cpp rename to core/src/scheduler/selector/FaissIVFSQ8HPass.cpp index 8e99be828a..e1f79a1650 100644 --- a/core/src/scheduler/optimizer/FaissIVFSQ8HPass.cpp +++ b/core/src/scheduler/selector/FaissIVFSQ8HPass.cpp @@ -10,7 +10,7 @@ // or implied. See the License for the specific language governing permissions and limitations under the License. #ifdef MILVUS_GPU_VERSION -#include "scheduler/optimizer/FaissIVFSQ8HPass.h" +#include "scheduler/selector/FaissIVFSQ8HPass.h" #include "cache/GpuCacheMgr.h" #include "config/Config.h" #include "scheduler/SchedInst.h" diff --git a/core/src/scheduler/optimizer/FaissIVFSQ8HPass.h b/core/src/scheduler/selector/FaissIVFSQ8HPass.h similarity index 97% rename from core/src/scheduler/optimizer/FaissIVFSQ8HPass.h rename to core/src/scheduler/selector/FaissIVFSQ8HPass.h index ffff0a899a..c9da0f5829 100644 --- a/core/src/scheduler/optimizer/FaissIVFSQ8HPass.h +++ b/core/src/scheduler/selector/FaissIVFSQ8HPass.h @@ -24,7 +24,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FaissIVFSQ8Pass.cpp b/core/src/scheduler/selector/FaissIVFSQ8Pass.cpp similarity index 98% rename from core/src/scheduler/optimizer/FaissIVFSQ8Pass.cpp rename to core/src/scheduler/selector/FaissIVFSQ8Pass.cpp index 0f19f282b8..28a210a61b 100644 --- a/core/src/scheduler/optimizer/FaissIVFSQ8Pass.cpp +++ b/core/src/scheduler/selector/FaissIVFSQ8Pass.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. #ifdef MILVUS_GPU_VERSION -#include "scheduler/optimizer/FaissIVFSQ8Pass.h" +#include "scheduler/selector/FaissIVFSQ8Pass.h" #include "cache/GpuCacheMgr.h" #include "config/Config.h" #include "scheduler/SchedInst.h" diff --git a/core/src/scheduler/optimizer/FaissIVFSQ8Pass.h b/core/src/scheduler/selector/FaissIVFSQ8Pass.h similarity index 97% rename from core/src/scheduler/optimizer/FaissIVFSQ8Pass.h rename to core/src/scheduler/selector/FaissIVFSQ8Pass.h index 89219beb78..b3207763f7 100644 --- a/core/src/scheduler/optimizer/FaissIVFSQ8Pass.h +++ b/core/src/scheduler/selector/FaissIVFSQ8Pass.h @@ -24,7 +24,7 @@ #include #include "config/handler/GpuResourceConfigHandler.h" -#include "scheduler/optimizer/Pass.h" +#include "scheduler/selector/Pass.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/FallbackPass.cpp b/core/src/scheduler/selector/FallbackPass.cpp similarity index 96% rename from core/src/scheduler/optimizer/FallbackPass.cpp rename to core/src/scheduler/selector/FallbackPass.cpp index 281f57cfeb..e4bb51f8d0 100644 --- a/core/src/scheduler/optimizer/FallbackPass.cpp +++ b/core/src/scheduler/selector/FallbackPass.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. -#include "scheduler/optimizer/FallbackPass.h" +#include "scheduler/selector/FallbackPass.h" #include "scheduler/SchedInst.h" #include "scheduler/tasklabel/SpecResLabel.h" diff --git a/core/src/scheduler/optimizer/FallbackPass.h b/core/src/scheduler/selector/FallbackPass.h similarity index 100% rename from core/src/scheduler/optimizer/FallbackPass.h rename to core/src/scheduler/selector/FallbackPass.h diff --git a/core/src/scheduler/optimizer/Optimizer.cpp b/core/src/scheduler/selector/Optimizer.cpp similarity index 95% rename from core/src/scheduler/optimizer/Optimizer.cpp rename to core/src/scheduler/selector/Optimizer.cpp index 68ef4f185f..497287fa05 100644 --- a/core/src/scheduler/optimizer/Optimizer.cpp +++ b/core/src/scheduler/selector/Optimizer.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. -#include "scheduler/optimizer/Optimizer.h" +#include "scheduler/selector/Optimizer.h" namespace milvus { namespace scheduler { diff --git a/core/src/scheduler/optimizer/Optimizer.h b/core/src/scheduler/selector/Optimizer.h similarity index 100% rename from core/src/scheduler/optimizer/Optimizer.h rename to core/src/scheduler/selector/Optimizer.h diff --git a/core/src/scheduler/optimizer/Pass.h b/core/src/scheduler/selector/Pass.h similarity index 100% rename from core/src/scheduler/optimizer/Pass.h rename to core/src/scheduler/selector/Pass.h diff --git a/core/unittest/CMakeLists.txt b/core/unittest/CMakeLists.txt index e317a6d04e..09e87aa956 100644 --- a/core/unittest/CMakeLists.txt +++ b/core/unittest/CMakeLists.txt @@ -45,7 +45,7 @@ aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/event scheduler_event_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/job scheduler_job_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/resource scheduler_resource_files) aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/task scheduler_task_files) -aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/optimizer scheduler_optimizer_files) +aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/selector scheduler_selector_files) set(scheduler_files ${scheduler_main_files} ${scheduler_action_files} @@ -53,7 +53,7 @@ set(scheduler_files ${scheduler_job_files} ${scheduler_resource_files} ${scheduler_task_files} - ${scheduler_optimizer_files} + ${scheduler_selector_files} ) aux_source_directory(${MILVUS_THIRDPARTY_SRC}/easyloggingpp thirdparty_easyloggingpp_files) diff --git a/core/unittest/scheduler/CMakeLists.txt b/core/unittest/scheduler/CMakeLists.txt index 501c73fdb6..0dc9b2ea68 100644 --- a/core/unittest/scheduler/CMakeLists.txt +++ b/core/unittest/scheduler/CMakeLists.txt @@ -21,7 +21,7 @@ set(test_files ${CMAKE_CURRENT_SOURCE_DIR}/test_scheduler.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_task.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_job.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/test_optimizer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/test_selector.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_tasktable.cpp) add_executable(test_scheduler diff --git a/core/unittest/scheduler/test_optimizer.cpp b/core/unittest/scheduler/test_selector.cpp similarity index 92% rename from core/unittest/scheduler/test_optimizer.cpp rename to core/unittest/scheduler/test_selector.cpp index 0757fc235c..71a97ff516 100644 --- a/core/unittest/scheduler/test_optimizer.cpp +++ b/core/unittest/scheduler/test_selector.cpp @@ -14,15 +14,15 @@ #include "scheduler/task/BuildIndexTask.h" #include "scheduler/task/SearchTask.h" -#include "scheduler/optimizer/FaissIVFFlatPass.h" #include "scheduler/SchedInst.h" #include "scheduler/resource/CpuResource.h" -#include "scheduler/optimizer/BuildIndexPass.h" -#include "scheduler/optimizer/FaissFlatPass.h" -#include "scheduler/optimizer/FaissIVFPQPass.h" -#include "scheduler/optimizer/FaissIVFSQ8HPass.h" -#include "scheduler/optimizer/FaissIVFSQ8Pass.h" -#include "scheduler/optimizer/FallbackPass.h" +#include "scheduler/selector/BuildIndexPass.h" +#include "scheduler/selector/FaissFlatPass.h" +#include "scheduler/selector/FaissIVFFlatPass.h" +#include "scheduler/selector/FaissIVFPQPass.h" +#include "scheduler/selector/FaissIVFSQ8HPass.h" +#include "scheduler/selector/FaissIVFSQ8Pass.h" +#include "scheduler/selector/FallbackPass.h" namespace milvus { namespace scheduler { From 723b10600b28b4e93e19104bdb4d48f25519e42b Mon Sep 17 00:00:00 2001 From: Jin Hai Date: Sat, 25 Apr 2020 09:31:25 +0800 Subject: [PATCH 23/49] #2073 Fix CheckDBConfigBackendUrl error message (#2074) Signed-off-by: jinhai --- CHANGELOG.md | 1 + core/src/config/Config.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e4a0278cd..4d7b1351fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Please mark all change in change log and use the issue from GitHub ## Bug - \#1705 Limit the insert data batch size - \#1929 Skip MySQL meta schema field width check +- \#2073 Fix CheckDBConfigBackendUrl error message ## Feature - \#1965 FAISS/NSG/HNSW/ANNOY use unified distance calculation algorithm diff --git a/core/src/config/Config.cpp b/core/src/config/Config.cpp index cbf936111b..8c8f043511 100644 --- a/core/src/config/Config.cpp +++ b/core/src/config/Config.cpp @@ -891,7 +891,7 @@ Config::CheckDBConfigBackendUrl(const std::string& value) { std::string msg = "Invalid backend url: " + value + ". Possible reason: db_config.db_backend_url is invalid. " + "The correct format should be like sqlite://:@:/ or mysql://root:123456@127.0.0.1:3306/milvus."; - return Status(SERVER_INVALID_ARGUMENT, "invalid db_backend_url: " + value); + return Status(SERVER_INVALID_ARGUMENT, msg); } return Status::OK(); } From 54c9386bdc420c9201b5bc1342509bbfb86c4502 Mon Sep 17 00:00:00 2001 From: Jin Hai Date: Sat, 25 Apr 2020 10:04:04 +0800 Subject: [PATCH 24/49] #2076 CheckMetricConfigAddress error message (#2077) Signed-off-by: jinhai --- CHANGELOG.md | 2 ++ core/src/config/Config.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d7b1351fa..3fda890c95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ Please mark all change in change log and use the issue from GitHub - \#1929 Skip MySQL meta schema field width check - \#2073 Fix CheckDBConfigBackendUrl error message +- \#2076 CheckMetricConfigAddress error message + ## Feature - \#1965 FAISS/NSG/HNSW/ANNOY use unified distance calculation algorithm - \#2064 Warn when use SQLite as metadata management diff --git a/core/src/config/Config.cpp b/core/src/config/Config.cpp index 8c8f043511..308dea7e7e 100644 --- a/core/src/config/Config.cpp +++ b/core/src/config/Config.cpp @@ -1093,7 +1093,7 @@ Status Config::CheckMetricConfigAddress(const std::string& value) { if (!ValidationUtil::ValidateIpAddress(value).ok()) { std::string msg = "Invalid metric ip: " + value + ". Possible reason: metric_config.ip is invalid."; - return Status(SERVER_INVALID_ARGUMENT, "Invalid metric config ip: " + value); + return Status(SERVER_INVALID_ARGUMENT, msg); } return Status::OK(); } From fedbb697e38584a6eedfcaba841a0fedfe4f4ea1 Mon Sep 17 00:00:00 2001 From: PJZero <1823403153@qq.com> Date: Sat, 25 Apr 2020 11:19:30 +0800 Subject: [PATCH 25/49] Update GrpcRequestHandler.cpp (#2069) Signed-off-by: pengjian05 Co-authored-by: pengjian05 --- core/src/server/grpc_impl/GrpcRequestHandler.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 9dc1fbd3f6..5bd04a72b0 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -544,9 +544,8 @@ GrpcRequestHandler::SearchInFiles(::grpc::ServerContext* context, const ::milvus // step 3: partition tags std::vector partitions; - for (auto& partition : search_request->partition_tag_array()) { - partitions.emplace_back(partition); - } + std::copy(search_request->partition_tag_array().begin(), search_request->partition_tag_array().end(), + std::back_inserter(partitions)); // step 4: parse extra parameters milvus::json json_params; From 6fea6a17deae50af37a519ff7fb46e706cb7020c Mon Sep 17 00:00:00 2001 From: lieve <645417202@qq.com> Date: Sat, 25 Apr 2020 11:43:14 +0800 Subject: [PATCH 26/49] Unused variable: offsets Signed-off-by: lieve <645417202@qq.com> Signed-off-by: lizhengxie --- core/src/db/DBImpl.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index cdeebbd7b0..a3e3b14b97 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -1165,7 +1165,6 @@ DBImpl::GetVectorByIdHelper(const std::string& collection_id, IDNumber vector_id // Check if the id is present in bloom filter. if (id_bloom_filter_ptr->Check(vector_id)) { // Load uids and check if the id is indeed present. If yes, find its offset. - std::vector offsets; std::vector uids; auto status = segment_reader.LoadUids(uids); if (!status.ok()) { From 420d70dcc5a7e26e09a535faa79e94e5db0899a7 Mon Sep 17 00:00:00 2001 From: water32 Date: Sat, 25 Apr 2020 11:58:23 +0800 Subject: [PATCH 27/49] unused variable, just remove it. (#2082) Signed-off-by: water32 unused variable, just remove it. --- core/src/db/DBImpl.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index cdeebbd7b0..11144e4e6f 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -1033,7 +1033,6 @@ DBImpl::GetVectorByID(const std::string& collection_id, const IDNumber& vector_i std::vector file_types{meta::SegmentSchema::FILE_TYPE::RAW, meta::SegmentSchema::FILE_TYPE::TO_INDEX, meta::SegmentSchema::FILE_TYPE::BACKUP}; - meta::SegmentsSchema collection_files; status = meta_ptr_->FilesByType(collection_id, file_types, files_to_query); if (!status.ok()) { std::string err_msg = "Failed to get files for GetVectorByID: " + status.message(); From 67d8a9b54c76eff5875190fa6329a03dccb7055c Mon Sep 17 00:00:00 2001 From: yukun Date: Sat, 25 Apr 2020 13:19:17 +0800 Subject: [PATCH 28/49] Add http interface for hybrid search (#2079) * Add http interface for hybrid search Signed-off-by: fishpenguin * Add unittest for http hybrid interface Signed-off-by: fishpenguin * clang format Signed-off-by: fishpenguin * Fix codacy quality Signed-off-by: fishpenguin --- core/src/server/delivery/RequestHandler.cpp | 10 + core/src/server/delivery/RequestHandler.h | 4 + .../server/delivery/request/BaseRequest.cpp | 1 + .../server/grpc_impl/GrpcRequestHandler.cpp | 8 +- .../src/server/grpc_impl/GrpcRequestHandler.h | 7 +- .../web_impl/controller/WebController.hpp | 214 ++++++---- .../web_impl/handler/WebRequestHandler.cpp | 392 ++++++++++++++++++ .../web_impl/handler/WebRequestHandler.h | 17 + core/unittest/server/test_web.cpp | 103 +++++ 9 files changed, 674 insertions(+), 82 deletions(-) diff --git a/core/src/server/delivery/RequestHandler.cpp b/core/src/server/delivery/RequestHandler.cpp index 3b46fad5f6..a15f3dbaa4 100644 --- a/core/src/server/delivery/RequestHandler.cpp +++ b/core/src/server/delivery/RequestHandler.cpp @@ -40,6 +40,7 @@ #include "server/delivery/request/ShowPartitionsRequest.h" #include "server/delivery/hybrid_request/CreateHybridCollectionRequest.h" +#include "server/delivery/hybrid_request/DescribeHybridCollectionRequest.h" #include "server/delivery/hybrid_request/HybridSearchRequest.h" #include "server/delivery/hybrid_request/InsertEntityRequest.h" @@ -266,6 +267,15 @@ RequestHandler::CreateHybridCollection(const std::shared_ptr& context, return request_ptr->status(); } +Status +RequestHandler::DescribeHybridCollection(const std::shared_ptr& context, const std::string& collection_name, + std::unordered_map& field_types) { + BaseRequestPtr request_ptr = DescribeHybridCollectionRequest::Create(context, collection_name, field_types); + + RequestScheduler::ExecRequest(request_ptr); + return request_ptr->status(); +} + Status RequestHandler::HasHybridCollection(const std::shared_ptr& context, std::string& collection_name, bool& has_collection) { diff --git a/core/src/server/delivery/RequestHandler.h b/core/src/server/delivery/RequestHandler.h index c52a8e250b..32ca15078b 100644 --- a/core/src/server/delivery/RequestHandler.h +++ b/core/src/server/delivery/RequestHandler.h @@ -121,6 +121,10 @@ class RequestHandler { std::vector>& vector_dimensions, std::vector>& field_extra_params); + Status + DescribeHybridCollection(const std::shared_ptr& context, const std::string& collection_name, + std::unordered_map& field_types); + Status HasHybridCollection(const std::shared_ptr& context, std::string& collection_name, bool& has_collection); diff --git a/core/src/server/delivery/request/BaseRequest.cpp b/core/src/server/delivery/request/BaseRequest.cpp index 66e7f3c68c..8427c3165e 100644 --- a/core/src/server/delivery/request/BaseRequest.cpp +++ b/core/src/server/delivery/request/BaseRequest.cpp @@ -49,6 +49,7 @@ RequestGroup(BaseRequest::RequestType type) { {BaseRequest::kDropCollection, DDL_DML_REQUEST_GROUP}, {BaseRequest::kPreloadCollection, DQL_REQUEST_GROUP}, {BaseRequest::kCreateHybridCollection, DDL_DML_REQUEST_GROUP}, + {BaseRequest::kDescribeHybridCollection, INFO_REQUEST_GROUP}, // partition operations {BaseRequest::kCreatePartition, DDL_DML_REQUEST_GROUP}, diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 5bd04a72b0..84bdc4c592 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -799,6 +799,13 @@ GrpcRequestHandler::CreateHybridCollection(::grpc::ServerContext* context, const return ::grpc::Status::OK; } +::grpc::Status +GrpcRequestHandler::DescribeHybridCollection(::grpc::ServerContext* context, + const ::milvus::grpc::CollectionName* request, + ::milvus::grpc::Mapping* response) { + CHECK_NULLPTR_RETURN(request); +} + ::grpc::Status GrpcRequestHandler::InsertEntity(::grpc::ServerContext* context, const ::milvus::grpc::HInsertParam* request, ::milvus::grpc::HEntityIDs* response) { @@ -916,7 +923,6 @@ GrpcRequestHandler::HybridSearch(::grpc::ServerContext* context, const ::milvus: DeSerialization(request->general_query(), boolean_query); query::GeneralQueryPtr general_query = std::make_shared(); - general_query->bin = std::make_shared(); query::GenBinaryQuery(boolean_query, general_query->bin); Status status; diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.h b/core/src/server/grpc_impl/GrpcRequestHandler.h index 4f62fe8857..cd7906dfa5 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.h +++ b/core/src/server/grpc_impl/GrpcRequestHandler.h @@ -320,10 +320,9 @@ class GrpcRequestHandler final : public ::milvus::grpc::MilvusService::Service, // const ::milvus::grpc::CollectionName* request, // ::milvus::grpc::Status* response) override; // - // ::grpc::Status - // DescribeCollection(::grpc::ServerContext* context, - // const ::milvus::grpc::CollectionName* request, - // ::milvus::grpc::Mapping* response) override; + ::grpc::Status + DescribeHybridCollection(::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, + ::milvus::grpc::Mapping* response) override; // // ::grpc::Status // CountCollection(::grpc::ServerContext* context, diff --git a/core/src/server/web_impl/controller/WebController.hpp b/core/src/server/web_impl/controller/WebController.hpp index ded3a3d97e..a4a2520dd9 100644 --- a/core/src/server/web_impl/controller/WebController.hpp +++ b/core/src/server/web_impl/controller/WebController.hpp @@ -11,13 +11,13 @@ #pragma once -#include #include +#include -#include -#include #include #include +#include +#include #include "utils/Log.h" #include "utils/TimeRecorder.h" @@ -37,11 +37,12 @@ namespace web { class WebController : public oatpp::web::server::api::ApiController { public: WebController(const std::shared_ptr& objectMapper) - : oatpp::web::server::api::ApiController(objectMapper) {} + : oatpp::web::server::api::ApiController(objectMapper) { + } public: - static std::shared_ptr createShared( - OATPP_COMPONENT(std::shared_ptr, objectMapper)) { + static std::shared_ptr + createShared(OATPP_COMPONENT(std::shared_ptr, objectMapper)) { return std::make_shared(objectMapper); } @@ -84,8 +85,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } @@ -115,8 +116,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } @@ -139,8 +140,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } @@ -172,8 +173,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -197,8 +198,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; } @@ -229,8 +230,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; } @@ -243,7 +244,6 @@ class WebController : public oatpp::web::server::api::ApiController { WebRequestHandler handler = WebRequestHandler(); - String result; auto status_dto = handler.ShowTables(query_params, result); std::shared_ptr response; @@ -255,8 +255,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -270,8 +270,8 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(GetTable) - ENDPOINT("GET", "/collections/{collection_name}", GetTable, - PATH(String, collection_name), QUERIES(const QueryParams&, query_params)) { + ENDPOINT("GET", "/collections/{collection_name}", GetTable, PATH(String, collection_name), + QUERIES(const QueryParams&, query_params)) { TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "GET \'/collections/" + collection_name->std_str() + "\'"); tr.RecordSection("Received request."); @@ -292,8 +292,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -320,8 +320,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -335,8 +335,8 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(CreateIndex) - ENDPOINT("POST", "/collections/{collection_name}/indexes", CreateIndex, - PATH(String, collection_name), BODY_STRING(String, body)) { + ENDPOINT("POST", "/collections/{collection_name}/indexes", CreateIndex, PATH(String, collection_name), + BODY_STRING(String, body)) { TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/tables/" + collection_name->std_str() + "/indexes\'"); tr.RecordSection("Received request."); @@ -355,8 +355,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -365,7 +365,8 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(GetIndex) ENDPOINT("GET", "/collections/{collection_name}/indexes", GetIndex, PATH(String, collection_name)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "GET \'/collections/" + collection_name->std_str() + "/indexes\'"); + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "GET \'/collections/" + collection_name->std_str() + + "/indexes\'"); tr.RecordSection("Received request."); auto handler = WebRequestHandler(); @@ -385,8 +386,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -395,7 +396,8 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(DropIndex) ENDPOINT("DELETE", "/collections/{collection_name}/indexes", DropIndex, PATH(String, collection_name)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "DELETE \'/collections/" + collection_name->std_str() + "/indexes\'"); + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "DELETE \'/collections/" + collection_name->std_str() + + "/indexes\'"); tr.RecordSection("Received request."); auto handler = WebRequestHandler(); @@ -413,8 +415,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"; + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; tr.ElapseFromBegin(ttr); return response; @@ -428,9 +430,10 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(CreatePartition) - ENDPOINT("POST", "/collections/{collection_name}/partitions", - CreatePartition, PATH(String, collection_name), BODY_DTO(PartitionRequestDto::ObjectWrapper, body)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/collections/" + collection_name->std_str() + "/partitions\'"); + ENDPOINT("POST", "/collections/{collection_name}/partitions", CreatePartition, PATH(String, collection_name), + BODY_DTO(PartitionRequestDto::ObjectWrapper, body)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/collections/" + collection_name->std_str() + + "/partitions\'"); tr.RecordSection("Received request."); auto handler = WebRequestHandler(); @@ -448,17 +451,18 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } ADD_CORS(ShowPartitions) - ENDPOINT("GET", "/collections/{collection_name}/partitions", ShowPartitions, - PATH(String, collection_name), QUERIES(const QueryParams&, query_params)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "GET \'/collections/" + collection_name->std_str() + "/partitions\'"); + ENDPOINT("GET", "/collections/{collection_name}/partitions", ShowPartitions, PATH(String, collection_name), + QUERIES(const QueryParams&, query_params)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "GET \'/collections/" + collection_name->std_str() + + "/partitions\'"); tr.RecordSection("Received request."); auto offset = query_params.get("offset"); @@ -476,21 +480,22 @@ class WebController : public oatpp::web::server::api::ApiController { case StatusCode::COLLECTION_NOT_EXISTS: response = createDtoResponse(Status::CODE_404, status_dto); break; - default:response = createDtoResponse(Status::CODE_400, status_dto); + default: + response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } ADD_CORS(DropPartition) - ENDPOINT("DELETE", "/collections/{collection_name}/partitions", DropPartition, - PATH(String, collection_name), BODY_STRING(String, body)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + - "DELETE \'/collections/" + collection_name->std_str() + "/partitions\'"); + ENDPOINT("DELETE", "/collections/{collection_name}/partitions", DropPartition, PATH(String, collection_name), + BODY_STRING(String, body)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "DELETE \'/collections/" + collection_name->std_str() + + "/partitions\'"); tr.RecordSection("Received request."); auto handler = WebRequestHandler(); @@ -508,16 +513,16 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } ADD_CORS(ShowSegments) - ENDPOINT("GET", "/collections/{collection_name}/segments", ShowSegments, - PATH(String, collection_name), QUERIES(const QueryParams&, query_params)) { + ENDPOINT("GET", "/collections/{collection_name}/segments", ShowSegments, PATH(String, collection_name), + QUERIES(const QueryParams&, query_params)) { auto offset = query_params.get("offset"); auto page_size = query_params.get("page_size"); @@ -541,7 +546,8 @@ class WebController : public oatpp::web::server::api::ApiController { * GetSegmentVector */ ENDPOINT("GET", "/collections/{collection_name}/segments/{segment_name}/{info}", GetSegmentInfo, - PATH(String, collection_name), PATH(String, segment_name), PATH(String, info), QUERIES(const QueryParams&, query_params)) { + PATH(String, collection_name), PATH(String, segment_name), PATH(String, info), + QUERIES(const QueryParams&, query_params)) { auto offset = query_params.get("offset"); auto page_size = query_params.get("page_size"); @@ -570,8 +576,8 @@ class WebController : public oatpp::web::server::api::ApiController { * * GetVectorByID ?id= */ - ENDPOINT("GET", "/collections/{collection_name}/vectors", GetVectors, - PATH(String, collection_name), QUERIES(const QueryParams&, query_params)) { + ENDPOINT("GET", "/collections/{collection_name}/vectors", GetVectors, PATH(String, collection_name), + QUERIES(const QueryParams&, query_params)) { auto handler = WebRequestHandler(); String response; auto status_dto = handler.GetVector(collection_name, query_params, response); @@ -588,9 +594,10 @@ class WebController : public oatpp::web::server::api::ApiController { ADD_CORS(Insert) - ENDPOINT("POST", "/collections/{collection_name}/vectors", Insert, - PATH(String, collection_name), BODY_STRING(String, body)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/collections/" + collection_name->std_str() + "/vectors\'"); + ENDPOINT("POST", "/collections/{collection_name}/vectors", Insert, PATH(String, collection_name), + BODY_STRING(String, body)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/collections/" + collection_name->std_str() + + "/vectors\'"); tr.RecordSection("Received request."); auto ids_dto = VectorIdsDto::createShared(); @@ -609,17 +616,48 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); + + return response; + } + + ADD_CORS(InsertEntity) + + ENDPOINT("POST", "/hybrid_collections/{collection_name}/entities", InsertEntity, PATH(String, collection_name), + BODY_STRING(String, body)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/hybrid_collections/" + collection_name->std_str() + + "/entities\'"); + tr.RecordSection("Received request."); + + auto ids_dto = VectorIdsDto::createShared(); + WebRequestHandler handler = WebRequestHandler(); + + std::shared_ptr response; + auto status_dto = handler.InsertEntity(collection_name, body, ids_dto); + switch (status_dto->code->getValue()) { + case StatusCode::SUCCESS: + response = createDtoResponse(Status::CODE_201, ids_dto); + break; + case StatusCode::COLLECTION_NOT_EXISTS: + response = createDtoResponse(Status::CODE_404, status_dto); + break; + default: + response = createDtoResponse(Status::CODE_400, status_dto); + } + + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } ADD_CORS(VectorsOp) - ENDPOINT("PUT", "/collections/{collection_name}/vectors", VectorsOp, - PATH(String, collection_name), BODY_STRING(String, body)) { - TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "PUT \'/collections/" + collection_name->std_str() + "/vectors\'"); + ENDPOINT("PUT", "/collections/{collection_name}/vectors", VectorsOp, PATH(String, collection_name), + BODY_STRING(String, body)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "PUT \'/collections/" + collection_name->std_str() + + "/vectors\'"); tr.RecordSection("Received request."); WebRequestHandler handler = WebRequestHandler(); @@ -638,8 +676,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } @@ -668,8 +706,8 @@ class WebController : public oatpp::web::server::api::ApiController { response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } @@ -694,19 +732,41 @@ class WebController : public oatpp::web::server::api::ApiController { default: response = createDtoResponse(Status::CODE_400, status_dto); } - tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) - + ", reason = " + status_dto->message->std_str() + ". Total cost"); + tr.ElapseFromBegin("Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"); return response; } + ADD_CORS(CreateHybridCollection) + + ENDPOINT("POST", "/hybrid_collections", CreateHybridCollection, BODY_STRING(String, body_str)) { + TimeRecorder tr(std::string(WEB_LOG_PREFIX) + "POST \'/hybrid_collections\'"); + tr.RecordSection("Received request."); + WebRequestHandler handler = WebRequestHandler(); + + std::shared_ptr response; + auto status_dto = handler.CreateHybridCollection(body_str); + switch (status_dto->code->getValue()) { + case StatusCode::SUCCESS: + response = createDtoResponse(Status::CODE_201, status_dto); + break; + default: + response = createDtoResponse(Status::CODE_400, status_dto); + } + + std::string ttr = "Done. Status: code = " + std::to_string(status_dto->code->getValue()) + + ", reason = " + status_dto->message->std_str() + ". Total cost"; + tr.ElapseFromBegin(ttr); + return response; + } + /** * Finish ENDPOINTs generation ('ApiController' codegen) */ #include OATPP_CODEGEN_END(ApiController) - }; -} // namespace web -} // namespace server -} // namespace milvus +} // namespace web +} // namespace server +} // namespace milvus diff --git a/core/src/server/web_impl/handler/WebRequestHandler.cpp b/core/src/server/web_impl/handler/WebRequestHandler.cpp index 27c81b557e..6748cd66f7 100644 --- a/core/src/server/web_impl/handler/WebRequestHandler.cpp +++ b/core/src/server/web_impl/handler/WebRequestHandler.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "config/Config.h" @@ -567,6 +568,251 @@ WebRequestHandler::Search(const std::string& collection_name, const nlohmann::js return Status::OK(); } +Status +WebRequestHandler::ProcessLeafQueryJson(const nlohmann::json& json, milvus::query::BooleanQueryPtr& query) { + if (json.contains("term")) { + auto leaf_query = std::make_shared(); + auto term_json = json["term"]; + std::string field_name = term_json["field_name"]; + auto term_value_json = term_json["values"]; + if (!term_value_json.is_array()) { + std::string msg = "Term json string is not an array"; + return Status{BODY_PARSE_FAIL, msg}; + } + + auto term_size = term_value_json.size(); + auto term_query = std::make_shared(); + term_query->field_name = field_name; + term_query->field_value.resize(term_size * sizeof(int64_t)); + + switch (field_type_.at(field_name)) { + case engine::meta::hybrid::DataType::INT8: + case engine::meta::hybrid::DataType::INT16: + case engine::meta::hybrid::DataType::INT32: + case engine::meta::hybrid::DataType::INT64: { + std::vector term_value(term_size, 0); + for (uint64_t i = 0; i < term_size; ++i) { + term_value[i] = term_value_json[i].get(); + } + memcpy(term_query->field_value.data(), term_value.data(), term_size * sizeof(int64_t)); + break; + } + case engine::meta::hybrid::DataType::FLOAT: + case engine::meta::hybrid::DataType::DOUBLE: { + std::vector term_value(term_size, 0); + for (uint64_t i = 0; i < term_size; ++i) { + term_value[i] = term_value_json[i].get(); + } + memcpy(term_query->field_value.data(), term_value.data(), term_size * sizeof(double)); + break; + } + } + + leaf_query->term_query = term_query; + query->AddLeafQuery(leaf_query); + } else if (json.contains("range")) { + auto leaf_query = std::make_shared(); + auto range_query = std::make_shared(); + + auto range_json = json["range"]; + std::string field_name = range_json["field_name"]; + range_query->field_name = field_name; + + auto range_value_json = range_json["values"]; + if (range_value_json.contains("lt")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::LT; + compare_expr.operand = range_value_json["lt"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + if (range_value_json.contains("lte")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::LTE; + compare_expr.operand = range_value_json["lte"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + if (range_value_json.contains("eq")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::EQ; + compare_expr.operand = range_value_json["eq"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + if (range_value_json.contains("ne")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::NE; + compare_expr.operand = range_value_json["ne"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + if (range_value_json.contains("gt")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::GT; + compare_expr.operand = range_value_json["gt"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + if (range_value_json.contains("gte")) { + query::CompareExpr compare_expr; + compare_expr.compare_operator = query::CompareOperator::GTE; + compare_expr.operand = range_value_json["gte"].get(); + range_query->compare_expr.emplace_back(compare_expr); + } + + leaf_query->range_query = range_query; + query->AddLeafQuery(leaf_query); + } else if (json.contains("vector")) { + auto leaf_query = std::make_shared(); + auto vector_query = std::make_shared(); + + auto vector_json = json["vector"]; + std::string field_name = vector_json["field_name"]; + vector_query->field_name = field_name; + + engine::VectorsData vectors; + // TODO(yukun): process binary vector + CopyRecordsFromJson(vector_json["values"], vectors, false); + + vector_query->query_vector.float_data = vectors.float_data_; + vector_query->query_vector.binary_data = vectors.binary_data_; + + vector_query->topk = vector_json["topk"].get(); + vector_query->extra_params = vector_json["extra_params"]; + + leaf_query->vector_query = vector_query; + query->AddLeafQuery(leaf_query); + } + return Status::OK(); +} + +Status +WebRequestHandler::ProcessBoolQueryJson(const nlohmann::json& query_json, query::BooleanQueryPtr& boolean_query) { + if (query_json.contains("must")) { + boolean_query->SetOccur(query::Occur::MUST); + auto must_json = query_json["must"]; + if (!must_json.is_array()) { + std::string msg = "Must json string is not an array"; + return Status{BODY_PARSE_FAIL, msg}; + } + + for (auto& json : must_json) { + auto must_query = std::make_shared(); + if (json.contains("must") || json.contains("should") || json.contains("must_not")) { + ProcessBoolQueryJson(json, must_query); + boolean_query->AddBooleanQuery(must_query); + } else { + ProcessLeafQueryJson(json, boolean_query); + } + } + return Status::OK(); + } else if (query_json.contains("should")) { + boolean_query->SetOccur(query::Occur::SHOULD); + auto should_json = query_json["should"]; + if (!should_json.is_array()) { + std::string msg = "Should json string is not an array"; + return Status{BODY_PARSE_FAIL, msg}; + } + + for (auto& json : should_json) { + if (json.contains("must") || json.contains("should") || json.contains("must_not")) { + auto should_query = std::make_shared(); + ProcessBoolQueryJson(json, should_query); + boolean_query->AddBooleanQuery(should_query); + } else { + ProcessLeafQueryJson(json, boolean_query); + } + } + return Status::OK(); + } else if (query_json.contains("must_not")) { + boolean_query->SetOccur(query::Occur::MUST_NOT); + auto should_json = query_json["must_not"]; + if (!should_json.is_array()) { + std::string msg = "Must_not json string is not an array"; + return Status{BODY_PARSE_FAIL, msg}; + } + + for (auto& json : should_json) { + if (json.contains("must") || json.contains("should") || json.contains("must_not")) { + auto must_not_query = std::make_shared(); + ProcessBoolQueryJson(json, must_not_query); + boolean_query->AddBooleanQuery(must_not_query); + } else { + ProcessLeafQueryJson(json, boolean_query); + } + } + return Status::OK(); + } else { + std::string msg = "Must json string doesnot include right query"; + return Status{BODY_PARSE_FAIL, msg}; + } +} + +Status +WebRequestHandler::HybridSearch(const std::string& collection_name, const nlohmann::json& json, + std::string& result_str) { + Status status; + + status = request_handler_.DescribeHybridCollection(context_ptr_, collection_name, field_type_); + if (!status.ok()) { + return Status{UNEXPECTED_ERROR, "DescribeHybridCollection failed"}; + } + + std::vector partition_tags; + if (json.contains("partition_tags")) { + auto tags = json["partition_tags"]; + if (!tags.is_null() && !tags.is_array()) { + return Status(BODY_PARSE_FAIL, "Field \"partition_tags\" must be a array"); + } + + for (auto& tag : tags) { + partition_tags.emplace_back(tag.get()); + } + } + + if (json.contains("bool")) { + auto boolean_query_json = json["bool"]; + query::BooleanQueryPtr boolean_query = std::make_shared(); + + status = ProcessBoolQueryJson(boolean_query_json, boolean_query); + if (!status.ok()) { + return status; + } + query::GeneralQueryPtr general_query = std::make_shared(); + query::GenBinaryQuery(boolean_query, general_query->bin); + + context::HybridSearchContextPtr hybrid_search_context = std::make_shared(); + TopKQueryResult result; + status = request_handler_.HybridSearch(context_ptr_, hybrid_search_context, collection_name, partition_tags, + general_query, result); + + if (!status.ok()) { + return status; + } + + nlohmann::json result_json; + result_json["num"] = result.row_num_; + if (result.row_num_ == 0) { + result_json["result"] = std::vector(); + result_str = result_json.dump(); + return Status::OK(); + } + + auto step = result.id_list_.size() / result.row_num_; + nlohmann::json search_result_json; + for (size_t i = 0; i < result.row_num_; i++) { + nlohmann::json raw_result_json; + for (size_t j = 0; j < step; j++) { + nlohmann::json one_result_json; + one_result_json["id"] = std::to_string(result.id_list_.at(i * step + j)); + one_result_json["distance"] = std::to_string(result.distance_list_.at(i * step + j)); + raw_result_json.emplace_back(one_result_json); + } + search_result_json.emplace_back(raw_result_json); + } + result_json["result"] = search_result_json; + result_str = result_json.dump(); + } + + return Status::OK(); +} + Status WebRequestHandler::DeleteByIDs(const std::string& collection_name, const nlohmann::json& json, std::string& result_str) { @@ -930,6 +1176,50 @@ WebRequestHandler::CreateTable(const TableRequestDto::ObjectWrapper& collection_ ASSIGN_RETURN_STATUS_DTO(status) } +StatusDto::ObjectWrapper +WebRequestHandler::CreateHybridCollection(const milvus::server::web::OString& body) { + auto json_str = nlohmann::json::parse(body->c_str()); + std::string collection_name = json_str["collection_name"]; + + // TODO(yukun): do checking + std::vector> field_types; + std::vector> field_extra_params; + std::vector> vector_dimensions; + for (auto& field : json_str["fields"]) { + std::string field_name = field["field_name"]; + std::string field_type = field["field_type"]; + auto extra_params = field["extra_params"]; + if (field_type == "int8") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::INT8)); + } else if (field_type == "int16") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::INT16)); + } else if (field_type == "int32") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::INT32)); + } else if (field_type == "int64") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::INT64)); + } else if (field_type == "float") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::FLOAT)); + } else if (field_type == "double") { + field_types.emplace_back(std::make_pair(field_name, engine::meta::hybrid::DataType::DOUBLE)); + } else if (field_type == "vector") { + } else { + std::string msg = field_name + " has wrong field_type"; + RETURN_STATUS_DTO(BODY_PARSE_FAIL, msg.c_str()); + } + + field_extra_params.emplace_back(std::make_pair(field_name, extra_params.dump())); + + if (extra_params.contains("dimension")) { + vector_dimensions.emplace_back(std::make_pair(field_name, extra_params["dimension"].get())); + } + } + + auto status = request_handler_.CreateHybridCollection(context_ptr_, collection_name, field_types, vector_dimensions, + field_extra_params); + + ASSIGN_RETURN_STATUS_DTO(status) +} + StatusDto::ObjectWrapper WebRequestHandler::ShowTables(const OQueryParams& query_params, OString& result) { int64_t offset = 0; @@ -1347,6 +1637,106 @@ WebRequestHandler::Insert(const OString& collection_name, const OString& body, V ASSIGN_RETURN_STATUS_DTO(status) } +StatusDto::ObjectWrapper +WebRequestHandler::InsertEntity(const OString& collection_name, const milvus::server::web::OString& body, + VectorIdsDto::ObjectWrapper& ids_dto) { + if (nullptr == body.get() || body->getSize() == 0) { + RETURN_STATUS_DTO(BODY_FIELD_LOSS, "Request payload is required.") + } + + auto body_json = nlohmann::json::parse(body->c_str()); + std::string partition_tag = body_json["partition_tag"]; + + uint64_t row_num = body_json["row_num"]; + + std::unordered_map field_types; + auto status = request_handler_.DescribeHybridCollection(context_ptr_, collection_name->c_str(), field_types); + + auto entities = body_json["entity"]; + if (!entities.is_array()) { + RETURN_STATUS_DTO(ILLEGAL_BODY, "An entity must be an array"); + } + + std::vector field_names; + std::vector> attr_values; + size_t attr_size = 0; + std::unordered_map vector_datas; + for (auto& entity : entities) { + std::string field_name = entity["field_name"]; + field_names.emplace_back(field_name); + auto field_value = entity["field_value"]; + std::vector attr_value; + switch (field_types.at(field_name)) { + case engine::meta::hybrid::DataType::INT8: + case engine::meta::hybrid::DataType::INT16: + case engine::meta::hybrid::DataType::INT32: + case engine::meta::hybrid::DataType::INT64: { + std::vector value; + auto size = field_value.size(); + value.resize(size); + attr_value.resize(size * sizeof(int64_t)); + size_t offset = 0; + for (auto data : field_value) { + value[offset] = data.get(); + ++offset; + } + memcpy(attr_value.data(), value.data(), size * sizeof(int64_t)); + attr_size += size * sizeof(int64_t); + attr_values.emplace_back(attr_value); + break; + } + case engine::meta::hybrid::DataType::FLOAT: + case engine::meta::hybrid::DataType::DOUBLE: { + std::vector value; + auto size = field_value.size(); + value.resize(size); + attr_value.resize(size * sizeof(double)); + size_t offset = 0; + for (auto data : field_value) { + value[offset] = data.get(); + ++offset; + } + memcpy(attr_value.data(), value.data(), size * sizeof(double)); + attr_size += size * sizeof(double); + + attr_values.emplace_back(attr_value); + break; + } + case engine::meta::hybrid::DataType::VECTOR: { + bool bin_flag; + status = IsBinaryTable(collection_name->c_str(), bin_flag); + if (!status.ok()) { + ASSIGN_RETURN_STATUS_DTO(status) + } + + engine::VectorsData vectors; + CopyRecordsFromJson(field_value, vectors, bin_flag); + vector_datas.insert(std::make_pair(field_name, vectors)); + } + default: {} + } + } + + std::vector attrs(attr_size, 0); + size_t attr_offset = 0; + for (auto& data : attr_values) { + memcpy(attrs.data() + attr_offset, data.data(), data.size()); + attr_offset += data.size(); + } + + status = request_handler_.InsertEntity(context_ptr_, collection_name->c_str(), partition_tag, row_num, field_names, + attrs, vector_datas); + + if (status.ok()) { + ids_dto->ids = ids_dto->ids->createShared(); + for (auto& id : vector_datas.begin()->second.id_array_) { + ids_dto->ids->pushBack(std::to_string(id).c_str()); + } + } + + ASSIGN_RETURN_STATUS_DTO(status) +} + StatusDto::ObjectWrapper WebRequestHandler::GetVector(const OString& collection_name, const OQueryParams& query_params, OString& response) { int64_t id = 0; @@ -1389,6 +1779,8 @@ WebRequestHandler::VectorsOp(const OString& collection_name, const OString& payl status = DeleteByIDs(collection_name->std_str(), payload_json["delete"], result_str); } else if (payload_json.contains("search")) { status = Search(collection_name->std_str(), payload_json["search"], result_str); + } else if (payload_json.contains("query")) { + status = HybridSearch(collection_name->c_str(), payload_json["query"], result_str); } else { status = Status(ILLEGAL_BODY, "Unknown body"); } diff --git a/core/src/server/web_impl/handler/WebRequestHandler.h b/core/src/server/web_impl/handler/WebRequestHandler.h index aeef4b9e12..c2f7a8f9bd 100644 --- a/core/src/server/web_impl/handler/WebRequestHandler.h +++ b/core/src/server/web_impl/handler/WebRequestHandler.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -141,6 +142,15 @@ class WebRequestHandler { Status Search(const std::string& collection_name, const nlohmann::json& json, std::string& result_str); + Status + ProcessLeafQueryJson(const nlohmann::json& json, query::BooleanQueryPtr& boolean_query); + + Status + ProcessBoolQueryJson(const nlohmann::json& query_json, query::BooleanQueryPtr& boolean_query); + + Status + HybridSearch(const std::string& collection_name, const nlohmann::json& json, std::string& result_str); + Status DeleteByIDs(const std::string& collection_name, const nlohmann::json& json, std::string& result_str); @@ -176,6 +186,9 @@ class WebRequestHandler { StatusDto::ObjectWrapper ShowTables(const OQueryParams& query_params, OString& result); + StatusDto::ObjectWrapper + CreateHybridCollection(const OString& body); + StatusDto::ObjectWrapper GetTable(const OString& collection_name, const OQueryParams& query_params, OString& result); @@ -219,6 +232,9 @@ class WebRequestHandler { StatusDto::ObjectWrapper Insert(const OString& collection_name, const OString& body, VectorIdsDto::ObjectWrapper& ids_dto); + StatusDto::ObjectWrapper + InsertEntity(const OString& collection_name, const OString& body, VectorIdsDto::ObjectWrapper& ids_dto); + StatusDto::ObjectWrapper GetVector(const OString& collection_name, const OQueryParams& query_params, OString& response); @@ -244,6 +260,7 @@ class WebRequestHandler { private: std::shared_ptr context_ptr_; RequestHandler request_handler_; + std::unordered_map field_type_; }; } // namespace web diff --git a/core/unittest/server/test_web.cpp b/core/unittest/server/test_web.cpp index 6906b2f591..e313fb8c6b 100644 --- a/core/unittest/server/test_web.cpp +++ b/core/unittest/server/test_web.cpp @@ -156,6 +156,17 @@ RandomBinRecordsJson(int64_t dim, int64_t num) { return json; } +nlohmann::json +RandomAttrRecordsJson(int64_t row_num) { + nlohmann::json json; + std::default_random_engine e; + std::uniform_int_distribution u(0, 1000); + for (size_t i = 0; i < row_num; i++) { + json.push_back(u(e)); + } + return json; +} + std::string RandomName() { unsigned seed = std::chrono::system_clock::now().time_since_epoch().count(); @@ -697,6 +708,12 @@ class TestClient : public oatpp::web::client::ApiClient { API_CALL("PUT", "/system/{op}", op, PATH(String, cmd_str, "op"), BODY_STRING(String, body)) + API_CALL("POST", "/hybrid_collections", createHybridCollection, BODY_STRING(String, body_str)) + + API_CALL("POST", "/hybrid_collections/{collection_name}/entities", InsertEntity, PATH(String, collection_name), BODY_STRING(String, body)) + +// API_CALL("POST", "/hybrid_collections/{collection_name}/vectors", HybridSearch, PATH(String, collection_name), BODY_STRING(String, body)) + #include OATPP_CODEGEN_END(ApiClient) }; @@ -967,6 +984,92 @@ TEST_F(WebControllerTest, CREATE_COLLECTION) { ASSERT_EQ(OStatus::CODE_400.code, response->getStatusCode()); } +TEST_F(WebControllerTest, HYBRID_TEST) { + nlohmann::json create_json; + create_json["collection_name"] = "test_hybrid"; + nlohmann::json field_json_0, field_json_1; + field_json_0["field_name"] = "field_0"; + field_json_0["field_type"] = "int64"; + field_json_0["extra_params"] = ""; + + field_json_1["field_name"] = "field_1"; + field_json_1["field_type"] = "vector"; + nlohmann::json extra_params; + extra_params["dimension"] = 128; + field_json_1["extra_params"] = extra_params; + + create_json["fields"].push_back(field_json_0); + create_json["fields"].push_back(field_json_1); + + auto response = client_ptr->createHybridCollection(create_json.dump().c_str()); + ASSERT_EQ(OStatus::CODE_201.code, response->getStatusCode()); + auto result_dto = response->readBodyToDto(object_mapper.get()); + ASSERT_EQ(milvus::server::web::StatusCode::SUCCESS, result_dto->code->getValue()) << result_dto->message->std_str(); + + int64_t dimension = 128; + int64_t row_num = 1000; + nlohmann::json insert_json; + insert_json["partition_tag"] = ""; + nlohmann::json entity_0, entity_1; + entity_0["field_name"] = "field_0"; + entity_0["field_value"] = RandomAttrRecordsJson(row_num); + entity_1["field_name"] = "field_1"; + entity_1["field_value"] = RandomRecordsJson(dimension, row_num); + + insert_json["entity"].push_back(entity_0); + insert_json["entity"].push_back(entity_1); + insert_json["row_num"] = row_num; + + OString collection_name = "test_hybrid"; + response = client_ptr->InsertEntity(collection_name, insert_json.dump().c_str(), conncetion_ptr); + ASSERT_EQ(OStatus::CODE_201.code, response->getStatusCode()); + auto vector_dto = response->readBodyToDto(object_mapper.get()); + ASSERT_EQ(row_num, vector_dto->ids->count()); + + auto status = FlushTable(client_ptr, conncetion_ptr, collection_name); + ASSERT_TRUE(status.ok()) << status.message(); + + // TODO(yukun): when hybrid operation is added to wal, the sleep() can be deleted + sleep(2); + + int64_t nq = 10; + int64_t topk = 100; + nlohmann::json query_json, bool_json, term_json, range_json, vector_json; + term_json["term"]["field_name"] = "field_0"; + term_json["term"]["values"] = RandomAttrRecordsJson(nq); + bool_json["must"].push_back(term_json); + + range_json["range"]["field_name"] = "field_0"; + nlohmann::json comp_json; + comp_json["gte"] = "0"; + comp_json["lte"] = "100000"; + range_json["range"]["values"] = comp_json; + bool_json["must"].push_back(range_json); + + vector_json["vector"]["field_name"] = "field_1"; + vector_json["vector"]["topk"] = topk; + vector_json["vector"]["nq"] = nq; + vector_json["vector"]["values"] = RandomRecordsJson(128, nq); + bool_json["must"].push_back(vector_json); + + query_json["query"]["bool"] = bool_json; + + response = client_ptr->vectorsOp(collection_name, query_json.dump().c_str(), conncetion_ptr); + ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()); + + auto result_json = nlohmann::json::parse(response->readBodyToString()->std_str()); + ASSERT_TRUE(result_json.contains("num")); + ASSERT_TRUE(result_json["num"].is_number()); + ASSERT_EQ(nq, result_json["num"].get()); + + ASSERT_TRUE(result_json.contains("result")); + ASSERT_TRUE(result_json["result"].is_array()); + + auto result0_json = result_json["result"][0]; + ASSERT_TRUE(result0_json.is_array()); + ASSERT_EQ(topk, result0_json.size()); +} + TEST_F(WebControllerTest, GET_COLLECTION_META) { OString collection_name = "web_test_create_collection" + OString(RandomName().c_str()); GenTable(client_ptr, conncetion_ptr, collection_name, 10, 10, "L2"); From 7e52815fb665631e14b8e57ca7720fcb56cc0b9a Mon Sep 17 00:00:00 2001 From: lwglgy <1486111482@qq.com> Date: Sat, 25 Apr 2020 13:24:24 +0800 Subject: [PATCH 29/49] DBImpl.cpp::ExecWalRecord need to process error status in case wal::MXLogType::Entity (#2083) Signed-off-by: lwglgy <1486111482@qq.com> --- core/src/db/DBImpl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index 01dec48642..cddf35b868 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -2284,6 +2284,7 @@ DBImpl::ExecWalRecord(const wal::MXLogRecord& record) { std::string target_collection_name; status = GetPartitionByTag(record.collection_id, record.partition_tag, target_collection_name); if (!status.ok()) { + LOG_WAL_ERROR_ << LogOut("[%s][%ld] ", "insert", 0) << "Get partition fail: " << status.message(); return status; } From 82f4c289eb705d8f26381a23c20aeffa572db95c Mon Sep 17 00:00:00 2001 From: groot Date: Sat, 25 Apr 2020 01:49:32 -0500 Subject: [PATCH 30/49] New api HasPartition, SearchByID, GetVectorsByID (#2056) * modify proto Signed-off-by: groot * modify c sdk Signed-off-by: groot * rewrite search by id Signed-off-by: groot * change cases Signed-off-by: zw * fix cases Signed-off-by: zw * fix wal case Signed-off-by: zw * fix search by id Signed-off-by: groot * modify sdk Signed-off-by: groot * refine code Signed-off-by: groot * refine code Signed-off-by: groot * changelog Signed-off-by: groot * add search_by_ids case Signed-off-by: zw * disable test_search)by_ids Signed-off-by: zw Co-authored-by: zw Co-authored-by: del-zhenwu <56623710+del-zhenwu@users.noreply.github.com> --- CHANGELOG.md | 3 + core/src/db/DB.h | 11 +- core/src/db/DBImpl.cpp | 342 ++- core/src/db/DBImpl.h | 15 +- core/src/db/Types.h | 16 - core/src/db/Utils.cpp | 25 + core/src/db/Utils.h | 3 + core/src/db/engine/ExecutionEngine.h | 4 - core/src/db/engine/ExecutionEngineImpl.cpp | 81 - core/src/db/engine/ExecutionEngineImpl.h | 4 - core/src/grpc/gen-milvus/milvus.grpc.pb.cc | 186 +- core/src/grpc/gen-milvus/milvus.grpc.pb.h | 815 ++++--- core/src/grpc/gen-milvus/milvus.pb.cc | 1972 +++++------------ core/src/grpc/gen-milvus/milvus.pb.h | 1100 +++------ core/src/grpc/milvus.proto | 51 +- core/src/scheduler/task/SearchTask.cpp | 3 - core/src/server/delivery/RequestHandler.cpp | 24 +- core/src/server/delivery/RequestHandler.h | 16 +- .../src/server/delivery/request/BaseRequest.h | 18 - ...DRequest.cpp => GetVectorsByIDRequest.cpp} | 37 +- ...rByIDRequest.h => GetVectorsByIDRequest.h} | 10 +- .../delivery/request/HasPartitionRequest.cpp | 74 + .../delivery/request/HasPartitionRequest.h | 42 + .../delivery/request/SearchByIDRequest.cpp | 40 +- .../delivery/request/SearchByIDRequest.h | 6 +- .../request/ShowCollectionInfoRequest.cpp | 36 +- .../request/ShowCollectionInfoRequest.h | 6 +- .../server/grpc_impl/GrpcRequestHandler.cpp | 104 +- .../src/server/grpc_impl/GrpcRequestHandler.h | 22 +- .../web_impl/handler/WebRequestHandler.cpp | 94 +- .../web_impl/handler/WebRequestHandler.h | 6 - core/unittest/db/test_db.cpp | 74 +- core/unittest/db/test_db_mysql.cpp | 2 +- core/unittest/db/test_delete.cpp | 74 +- core/unittest/db/test_hybrid_db.cpp | 18 +- core/unittest/db/test_search_by_id.cpp | 275 ++- core/unittest/server/test_web.cpp | 68 +- sdk/examples/hybrid/src/ClientTest.cpp | 3 +- sdk/examples/partition/src/ClientTest.cpp | 4 +- sdk/examples/simple/src/ClientTest.cpp | 73 +- sdk/examples/simple/src/ClientTest.h | 5 +- sdk/examples/utils/Utils.cpp | 22 +- sdk/examples/utils/Utils.h | 3 - sdk/grpc-gen/gen-milvus/milvus.grpc.pb.cc | 186 +- sdk/grpc-gen/gen-milvus/milvus.grpc.pb.h | 815 ++++--- sdk/grpc-gen/gen-milvus/milvus.pb.cc | 1972 +++++------------ sdk/grpc-gen/gen-milvus/milvus.pb.h | 1100 +++------ sdk/grpc/ClientProxy.cpp | 157 +- sdk/grpc/ClientProxy.h | 12 +- sdk/grpc/GrpcClient.cpp | 33 +- sdk/grpc/GrpcClient.h | 5 +- sdk/include/BooleanQuery.h | 4 +- sdk/include/Field.h | 2 +- sdk/include/GeneralQuery.h | 2 +- sdk/include/MilvusApi.h | 77 +- sdk/interface/ConnectionImpl.cpp | 30 +- sdk/interface/ConnectionImpl.h | 18 +- .../test_collection_info.py | 58 +- tests/milvus_python_test/test_compact.py | 118 +- .../milvus_python_test/test_get_vector_ids.py | 72 +- ...or_by_id.py => test_get_vectors_by_ids.py} | 131 +- tests/milvus_python_test/test_search_by_id.py | 912 -------- .../milvus_python_test/test_search_by_ids.py | 505 +++++ tests/milvus_python_test/test_wal.py | 8 +- 64 files changed, 4824 insertions(+), 7180 deletions(-) rename core/src/server/delivery/request/{GetVectorByIDRequest.cpp => GetVectorsByIDRequest.cpp} (67%) rename core/src/server/delivery/request/{GetVectorByIDRequest.h => GetVectorsByIDRequest.h} (75%) create mode 100644 core/src/server/delivery/request/HasPartitionRequest.cpp create mode 100644 core/src/server/delivery/request/HasPartitionRequest.h rename tests/milvus_python_test/{test_get_vector_by_id.py => test_get_vectors_by_ids.py} (75%) delete mode 100755 tests/milvus_python_test/test_search_by_id.py create mode 100755 tests/milvus_python_test/test_search_by_ids.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fda890c95..5376288534 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ Please mark all change in change log and use the issue from GitHub - \#2076 CheckMetricConfigAddress error message ## Feature +- \#1751 Add api SearchByID +- \#1752 Add api GetVectorsByID +- \#1962 Add api HasPartition - \#1965 FAISS/NSG/HNSW/ANNOY use unified distance calculation algorithm - \#2064 Warn when use SQLite as metadata management diff --git a/core/src/db/DB.h b/core/src/db/DB.h index 5532a3ac43..790f276f17 100644 --- a/core/src/db/DB.h +++ b/core/src/db/DB.h @@ -65,7 +65,7 @@ class DB { AllCollections(std::vector& table_schema_array) = 0; virtual Status - GetCollectionInfo(const std::string& collection_id, CollectionInfo& collection_info) = 0; + GetCollectionInfo(const std::string& collection_id, std::string& collection_info) = 0; virtual Status GetCollectionRowCount(const std::string& collection_id, uint64_t& row_count) = 0; @@ -108,7 +108,8 @@ class DB { Compact(const std::string& collection_id) = 0; virtual Status - GetVectorByID(const std::string& collection_id, const IDNumber& vector_id, VectorsData& vector) = 0; + GetVectorsByID(const std::string& collection_id, const IDNumbers& id_array, + std::vector& vectors) = 0; virtual Status GetVectorIDs(const std::string& collection_id, const std::string& segment_id, IDNumbers& vector_ids) = 0; @@ -117,9 +118,9 @@ class DB { // Merge(const std::set& table_ids) = 0; virtual Status - QueryByID(const std::shared_ptr& context, const std::string& collection_id, - const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, - IDNumber vector_id, ResultIds& result_ids, ResultDistances& result_distances) = 0; + QueryByIDs(const std::shared_ptr& context, const std::string& collection_id, + const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, + const IDNumbers& id_array, ResultIds& result_ids, ResultDistances& result_distances) = 0; virtual Status Query(const std::shared_ptr& context, const std::string& collection_id, diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index cddf35b868..2e63589004 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -62,6 +62,14 @@ constexpr uint64_t BACKGROUND_METRIC_INTERVAL = 1; constexpr uint64_t BACKGROUND_INDEX_INTERVAL = 1; constexpr uint64_t WAIT_BUILD_INDEX_INTERVAL = 5; +constexpr const char* JSON_ROW_COUNT = "row_count"; +constexpr const char* JSON_PARTITIONS = "partitions"; +constexpr const char* JSON_PARTITION_TAG = "tag"; +constexpr const char* JSON_SEGMENTS = "segments"; +constexpr const char* JSON_SEGMENT_NAME = "name"; +constexpr const char* JSON_INDEX_NAME = "index_name"; +constexpr const char* JSON_DATA_SIZE = "data_size"; + static const Status SHUTDOWN_ERROR = Status(DB_ERROR, "Milvus server is shutdown!"); } // namespace @@ -314,67 +322,75 @@ DBImpl::AllCollections(std::vector& collection_schema_ar } Status -DBImpl::GetCollectionInfo(const std::string& collection_id, CollectionInfo& collection_info) { +DBImpl::GetCollectionInfo(const std::string& collection_id, std::string& collection_info) { if (!initialized_.load(std::memory_order_acquire)) { return SHUTDOWN_ERROR; } // step1: get all partition ids - std::vector> name2tag = {{collection_id, milvus::engine::DEFAULT_PARTITON_TAG}}; std::vector partition_array; auto status = meta_ptr_->ShowPartitions(collection_id, partition_array); - for (auto& schema : partition_array) { - name2tag.push_back(std::make_pair(schema.collection_id_, schema.partition_tag_)); - } - // step2: get native collection info std::vector file_types{meta::SegmentSchema::FILE_TYPE::RAW, meta::SegmentSchema::FILE_TYPE::TO_INDEX, meta::SegmentSchema::FILE_TYPE::INDEX}; - static std::map index_type_name = { - {(int32_t)engine::EngineType::FAISS_IDMAP, "IDMAP"}, - {(int32_t)engine::EngineType::FAISS_IVFFLAT, "IVFFLAT"}, - {(int32_t)engine::EngineType::FAISS_IVFSQ8, "IVFSQ8"}, - {(int32_t)engine::EngineType::NSG_MIX, "NSG"}, - {(int32_t)engine::EngineType::ANNOY, "ANNOY"}, - {(int32_t)engine::EngineType::FAISS_IVFSQ8H, "IVFSQ8H"}, - {(int32_t)engine::EngineType::FAISS_PQ, "PQ"}, - {(int32_t)engine::EngineType::SPTAG_KDT, "KDT"}, - {(int32_t)engine::EngineType::SPTAG_BKT, "BKT"}, - {(int32_t)engine::EngineType::FAISS_BIN_IDMAP, "IDMAP"}, - {(int32_t)engine::EngineType::FAISS_BIN_IVFFLAT, "IVFFLAT"}, - }; + milvus::json json_info; + milvus::json json_partitions; + size_t total_row_count = 0; - for (auto& name_tag : name2tag) { + auto get_info = [&](const std::string& col_id, const std::string& tag) { meta::SegmentsSchema collection_files; - status = meta_ptr_->FilesByType(name_tag.first, file_types, collection_files); + status = meta_ptr_->FilesByType(col_id, file_types, collection_files); if (!status.ok()) { std::string err_msg = "Failed to get collection info: " + status.ToString(); LOG_ENGINE_ERROR_ << err_msg; return Status(DB_ERROR, err_msg); } - std::vector segments_stat; + milvus::json json_partition; + json_partition[JSON_PARTITION_TAG] = tag; + + milvus::json json_segments; + size_t row_count = 0; for (auto& file : collection_files) { - SegmentStat seg_stat; - seg_stat.name_ = file.segment_id_; - seg_stat.row_count_ = (int64_t)file.row_count_; - seg_stat.index_name_ = index_type_name[file.engine_type_]; - seg_stat.data_size_ = (int64_t)file.file_size_; - segments_stat.emplace_back(seg_stat); + milvus::json json_segment; + json_segment[JSON_SEGMENT_NAME] = file.segment_id_; + json_segment[JSON_ROW_COUNT] = file.row_count_; + json_segment[JSON_INDEX_NAME] = utils::GetIndexName(file.engine_type_); + json_segment[JSON_DATA_SIZE] = (int64_t)file.file_size_; + json_segments.push_back(json_segment); + + row_count += file.row_count_; + total_row_count += file.row_count_; } - PartitionStat partition_stat; - if (name_tag.first == collection_id) { - partition_stat.tag_ = milvus::engine::DEFAULT_PARTITON_TAG; - } else { - partition_stat.tag_ = name_tag.second; - } + json_partition[JSON_ROW_COUNT] = row_count; + json_partition[JSON_SEGMENTS] = json_segments; - partition_stat.segments_stat_.swap(segments_stat); - collection_info.partitions_stat_.emplace_back(partition_stat); + json_partitions.push_back(json_partition); + + return Status::OK(); + }; + + // step2: get default partition info + status = get_info(collection_id, milvus::engine::DEFAULT_PARTITON_TAG); + if (!status.ok()) { + return status; } + // step3: get partitions info + for (auto& schema : partition_array) { + status = get_info(schema.collection_id_, schema.partition_tag_); + if (!status.ok()) { + return status; + } + } + + json_info[JSON_ROW_COUNT] = total_row_count; + json_info[JSON_PARTITIONS] = json_partitions; + + collection_info = json_info.dump(); + return Status::OK(); } @@ -1014,7 +1030,8 @@ DBImpl::CompactFile(const std::string& collection_id, const meta::SegmentSchema& } Status -DBImpl::GetVectorByID(const std::string& collection_id, const IDNumber& vector_id, VectorsData& vector) { +DBImpl::GetVectorsByID(const std::string& collection_id, const IDNumbers& id_array, + std::vector& vectors) { if (!initialized_.load(std::memory_order_acquire)) { return SHUTDOWN_ERROR; } @@ -1030,12 +1047,12 @@ DBImpl::GetVectorByID(const std::string& collection_id, const IDNumber& vector_i } meta::SegmentsSchema files_to_query; - std::vector file_types{meta::SegmentSchema::FILE_TYPE::RAW, meta::SegmentSchema::FILE_TYPE::TO_INDEX, meta::SegmentSchema::FILE_TYPE::BACKUP}; + status = meta_ptr_->FilesByType(collection_id, file_types, files_to_query); if (!status.ok()) { - std::string err_msg = "Failed to get files for GetVectorByID: " + status.message(); + std::string err_msg = "Failed to get files for GetVectorsByID: " + status.message(); LOG_ENGINE_ERROR_ << err_msg; return status; } @@ -1048,6 +1065,7 @@ DBImpl::GetVectorByID(const std::string& collection_id, const IDNumber& vector_i meta::SegmentsSchema files; status = meta_ptr_->FilesByType(schema.collection_id_, file_types, files); if (!status.ok()) { + OngoingFileChecker::GetInstance().UnmarkOngoingFiles(files_to_query); std::string err_msg = "Failed to get files for GetVectorByID: " + status.message(); LOG_ENGINE_ERROR_ << err_msg; return status; @@ -1059,13 +1077,14 @@ DBImpl::GetVectorByID(const std::string& collection_id, const IDNumber& vector_i } if (files_to_query.empty()) { + OngoingFileChecker::GetInstance().UnmarkOngoingFiles(files_to_query); LOG_ENGINE_DEBUG_ << "No files to get vector by id from"; return Status(DB_NOT_FOUND, "Collection is empty"); } cache::CpuCacheMgr::GetInstance()->PrintInfo(); - status = GetVectorByIdHelper(collection_id, vector_id, vector, files_to_query); + status = GetVectorsByIdHelper(collection_id, id_array, vectors, files_to_query); OngoingFileChecker::GetInstance().UnmarkOngoingFiles(files_to_query); cache::CpuCacheMgr::GetInstance()->PrintInfo(); @@ -1145,14 +1164,21 @@ DBImpl::GetVectorIDs(const std::string& collection_id, const std::string& segmen } Status -DBImpl::GetVectorByIdHelper(const std::string& collection_id, IDNumber vector_id, VectorsData& vector, - const meta::SegmentsSchema& files) { - LOG_ENGINE_DEBUG_ << "Getting vector by id in " << files.size() << " files, id = " << vector_id; +DBImpl::GetVectorsByIdHelper(const std::string& collection_id, const IDNumbers& id_array, + std::vector& vectors, const meta::SegmentsSchema& files) { + LOG_ENGINE_DEBUG_ << "Getting vector by id in " << files.size() << " files, id count = " << id_array.size(); - vector.vector_count_ = 0; - vector.float_data_.clear(); - vector.binary_data_.clear(); + // sometimes not all of id_array can be found, we need to return empty vector for id not found + // for example: + // id_array = [1, -1, 2, -1, 3] + // vectors should return [valid_vector, empty_vector, valid_vector, empty_vector, valid_vector] + // the ID2RAW is to ensure returned vector sequence is consist with id_array + using ID2VECTOR = std::map; + ID2VECTOR map_id2vector; + vectors.clear(); + + IDNumbers temp_ids = id_array; for (auto& file : files) { // Load bloom filter std::string segment_dir; @@ -1161,59 +1187,80 @@ DBImpl::GetVectorByIdHelper(const std::string& collection_id, IDNumber vector_id segment::IdBloomFilterPtr id_bloom_filter_ptr; segment_reader.LoadBloomFilter(id_bloom_filter_ptr); - // Check if the id is present in bloom filter. - if (id_bloom_filter_ptr->Check(vector_id)) { - // Load uids and check if the id is indeed present. If yes, find its offset. - std::vector uids; - auto status = segment_reader.LoadUids(uids); - if (!status.ok()) { - return status; - } + for (IDNumbers::iterator it = temp_ids.begin(); it != temp_ids.end();) { + int64_t vector_id = *it; + // each id must has a VectorsData + // if vector not found for an id, its VectorsData's vector_count = 0, else 1 + VectorsData& vector_ref = map_id2vector[vector_id]; - auto found = std::find(uids.begin(), uids.end(), vector_id); - if (found != uids.end()) { - auto offset = std::distance(uids.begin(), found); - - // Check whether the id has been deleted - segment::DeletedDocsPtr deleted_docs_ptr; - status = segment_reader.LoadDeletedDocs(deleted_docs_ptr); + // Check if the id is present in bloom filter. + if (id_bloom_filter_ptr->Check(vector_id)) { + // Load uids and check if the id is indeed present. If yes, find its offset. + std::vector uids; + auto status = segment_reader.LoadUids(uids); if (!status.ok()) { - LOG_ENGINE_ERROR_ << status.message(); return status; } - auto& deleted_docs = deleted_docs_ptr->GetDeletedDocs(); - auto deleted = std::find(deleted_docs.begin(), deleted_docs.end(), offset); - if (deleted == deleted_docs.end()) { - // Load raw vector - bool is_binary = utils::IsBinaryMetricType(file.metric_type_); - size_t single_vector_bytes = is_binary ? file.dimension_ / 8 : file.dimension_ * sizeof(float); - std::vector raw_vector; - status = segment_reader.LoadVectors(offset * single_vector_bytes, single_vector_bytes, raw_vector); + auto found = std::find(uids.begin(), uids.end(), vector_id); + if (found != uids.end()) { + auto offset = std::distance(uids.begin(), found); + + // Check whether the id has been deleted + segment::DeletedDocsPtr deleted_docs_ptr; + status = segment_reader.LoadDeletedDocs(deleted_docs_ptr); if (!status.ok()) { LOG_ENGINE_ERROR_ << status.message(); return status; } + auto& deleted_docs = deleted_docs_ptr->GetDeletedDocs(); - vector.vector_count_ = 1; - if (is_binary) { - vector.binary_data_ = std::move(raw_vector); - } else { - std::vector float_vector; - float_vector.resize(file.dimension_); - memcpy(float_vector.data(), raw_vector.data(), single_vector_bytes); - vector.float_data_ = std::move(float_vector); + auto deleted = std::find(deleted_docs.begin(), deleted_docs.end(), offset); + if (deleted == deleted_docs.end()) { + // Load raw vector + bool is_binary = utils::IsBinaryMetricType(file.metric_type_); + size_t single_vector_bytes = is_binary ? file.dimension_ / 8 : file.dimension_ * sizeof(float); + std::vector raw_vector; + status = + segment_reader.LoadVectors(offset * single_vector_bytes, single_vector_bytes, raw_vector); + if (!status.ok()) { + LOG_ENGINE_ERROR_ << status.message(); + return status; + } + + vector_ref.vector_count_ = 1; + if (is_binary) { + vector_ref.binary_data_.swap(raw_vector); + } else { + std::vector float_vector; + float_vector.resize(file.dimension_); + memcpy(float_vector.data(), raw_vector.data(), single_vector_bytes); + vector_ref.float_data_.swap(float_vector); + } + temp_ids.erase(it); + continue; } - return Status::OK(); } } - } else { - continue; + + it++; } } - if (vector.binary_data_.empty() && vector.float_data_.empty()) { - std::string msg = "Vector with id " + std::to_string(vector_id) + " not found in collection " + collection_id; + for (auto id : id_array) { + VectorsData& vector_ref = map_id2vector[id]; + + VectorsData data; + data.vector_count_ = vector_ref.vector_count_; + if (data.vector_count_ > 0) { + data.float_data_.swap(vector_ref.float_data_); + data.binary_data_.swap(vector_ref.binary_data_); + } + vectors.emplace_back(data); + } + + if (vectors.empty()) { + std::string msg = "Vectors not found in collection " + collection_id; LOG_ENGINE_DEBUG_ << msg; } @@ -1284,19 +1331,130 @@ DBImpl::DropIndex(const std::string& collection_id) { } Status -DBImpl::QueryByID(const std::shared_ptr& context, const std::string& collection_id, - const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, - IDNumber vector_id, ResultIds& result_ids, ResultDistances& result_distances) { +DBImpl::QueryByIDs(const std::shared_ptr& context, const std::string& collection_id, + const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, + const IDNumbers& id_array, ResultIds& result_ids, ResultDistances& result_distances) { if (!initialized_.load(std::memory_order_acquire)) { return SHUTDOWN_ERROR; } - VectorsData vectors_data = VectorsData(); - vectors_data.id_array_.emplace_back(vector_id); - vectors_data.vector_count_ = 1; - Status result = - Query(context, collection_id, partition_tags, k, extra_params, vectors_data, result_ids, result_distances); - return result; + if (id_array.empty()) { + return Status(DB_ERROR, "Empty id array during query by id"); + } + + TimeRecorder rc("Query by id in collection:" + collection_id); + + // get collection schema + engine::meta::CollectionSchema collection_schema; + collection_schema.collection_id_ = collection_id; + auto status = DescribeCollection(collection_schema); + if (!status.ok()) { + if (status.code() == DB_NOT_FOUND) { + std::string msg = "Collection to search does not exist: " + collection_id; + LOG_ENGINE_ERROR_ << msg; + return Status(DB_NOT_FOUND, msg); + } else { + return status; + } + } else { + if (!collection_schema.owner_collection_.empty()) { + std::string msg = "Collection to search does not exist: " + collection_id; + LOG_ENGINE_ERROR_ << msg; + return Status(DB_NOT_FOUND, msg); + } + } + + rc.RecordSection("get collection schema"); + + // get target vectors data + std::vector vectors; + status = GetVectorsByID(collection_id, id_array, vectors); + if (!status.ok()) { + std::string msg = "Failed to get vector data for collection: " + collection_id; + LOG_ENGINE_ERROR_ << msg; + return status; + } + + // some vectors could not be found, no need to search them + uint64_t valid_count = 0; + bool is_binary = utils::IsBinaryMetricType(collection_schema.metric_type_); + for (auto& vector : vectors) { + if (vector.vector_count_ > 0) { + valid_count++; + } + } + + // copy valid vectors data for search input + uint64_t dimension = collection_schema.dimension_; + VectorsData valid_vectors; + valid_vectors.vector_count_ = valid_count; + if (is_binary) { + valid_vectors.binary_data_.resize(valid_count * dimension / 8); + } else { + valid_vectors.float_data_.resize(valid_count * dimension * sizeof(float)); + } + + int64_t valid_index = 0; + for (size_t i = 0; i < vectors.size(); i++) { + if (vectors[i].vector_count_ == 0) { + continue; + } + if (is_binary) { + memcpy(valid_vectors.binary_data_.data() + valid_index * dimension / 8, vectors[i].binary_data_.data(), + vectors[i].binary_data_.size()); + } else { + memcpy(valid_vectors.float_data_.data() + valid_index * dimension, vectors[i].float_data_.data(), + vectors[i].float_data_.size() * sizeof(float)); + } + valid_index++; + } + + rc.RecordSection("construct query input"); + + // search valid vectors + ResultIds valid_result_ids; + ResultDistances valid_result_distances; + status = Query(context, collection_id, partition_tags, k, extra_params, valid_vectors, valid_result_ids, + valid_result_distances); + if (!status.ok()) { + std::string msg = "Failed to query by id in collection " + collection_id + ", error: " + status.message(); + LOG_ENGINE_ERROR_ << msg; + return status; + } + + if (valid_result_ids.size() != valid_count * k || valid_result_distances.size() != valid_count * k) { + std::string msg = "Failed to query by id in collection " + collection_id + ", result doesn't match id count"; + return Status(DB_ERROR, msg); + } + + rc.RecordSection("query vealid vectors"); + + // construct result + if (valid_count == id_array.size()) { + result_ids.swap(valid_result_ids); + result_distances.swap(valid_result_distances); + } else { + result_ids.resize(vectors.size() * k); + result_distances.resize(vectors.size() * k); + int64_t valid_index = 0; + for (uint64_t i = 0; i < vectors.size(); i++) { + if (vectors[i].vector_count_ > 0) { + memcpy(result_ids.data() + i * k, valid_result_ids.data() + valid_index * k, k * sizeof(int64_t)); + memcpy(result_distances.data() + i * k, valid_result_distances.data() + valid_index * k, + k * sizeof(float)); + valid_index++; + } else { + memset(result_ids.data() + i * k, -1, k * sizeof(int64_t)); + for (uint64_t j = i * k; j < i * k + k; j++) { + result_distances[j] = std::numeric_limits::max(); + } + } + } + } + + rc.RecordSection("construct result"); + + return status; } Status diff --git a/core/src/db/DBImpl.h b/core/src/db/DBImpl.h index f7e9523be0..aa71e04df4 100644 --- a/core/src/db/DBImpl.h +++ b/core/src/db/DBImpl.h @@ -74,7 +74,7 @@ class DBImpl : public DB, public server::CacheConfigHandler, public server::Engi AllCollections(std::vector& collection_schema_array) override; Status - GetCollectionInfo(const std::string& collection_id, CollectionInfo& collection_info) override; + GetCollectionInfo(const std::string& collection_id, std::string& collection_info) override; Status PreloadCollection(const std::string& collection_id) override; @@ -118,7 +118,8 @@ class DBImpl : public DB, public server::CacheConfigHandler, public server::Engi Compact(const std::string& collection_id) override; Status - GetVectorByID(const std::string& collection_id, const IDNumber& vector_id, VectorsData& vector) override; + GetVectorsByID(const std::string& collection_id, const IDNumbers& id_array, + std::vector& vectors) override; Status GetVectorIDs(const std::string& collection_id, const std::string& segment_id, IDNumbers& vector_ids) override; @@ -156,9 +157,9 @@ class DBImpl : public DB, public server::CacheConfigHandler, public server::Engi ResultIds& result_ids, ResultDistances& result_distances) override; Status - QueryByID(const std::shared_ptr& context, const std::string& collection_id, - const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, - IDNumber vector_id, ResultIds& result_ids, ResultDistances& result_distances) override; + QueryByIDs(const std::shared_ptr& context, const std::string& collection_id, + const std::vector& partition_tags, uint64_t k, const milvus::json& extra_params, + const IDNumbers& id_array, ResultIds& result_ids, ResultDistances& result_distances) override; Status Query(const std::shared_ptr& context, const std::string& collection_id, @@ -194,8 +195,8 @@ class DBImpl : public DB, public server::CacheConfigHandler, public server::Engi ResultIds& result_ids, ResultDistances& result_distances); Status - GetVectorByIdHelper(const std::string& collection_id, IDNumber vector_id, VectorsData& vector, - const meta::SegmentsSchema& files); + GetVectorsByIdHelper(const std::string& collection_id, const IDNumbers& id_array, + std::vector& vectors, const meta::SegmentsSchema& files); void InternalFlush(const std::string& collection_id = ""); diff --git a/core/src/db/Types.h b/core/src/db/Types.h index 8f4992366e..95340e164f 100644 --- a/core/src/db/Types.h +++ b/core/src/db/Types.h @@ -61,22 +61,6 @@ using Table2FileErr = std::map; using File2RefCount = std::map; using Table2FileRef = std::map; -struct SegmentStat { - std::string name_; - int64_t row_count_ = 0; - std::string index_name_; - int64_t data_size_ = 0; -}; - -struct PartitionStat { - std::string tag_; - std::vector segments_stat_; -}; - -struct CollectionInfo { - std::vector partitions_stat_; -}; - static const char* DEFAULT_PARTITON_TAG = "_default"; } // namespace engine diff --git a/core/src/db/Utils.cpp b/core/src/db/Utils.cpp index a862c03ef4..5ad66f58d7 100644 --- a/core/src/db/Utils.cpp +++ b/core/src/db/Utils.cpp @@ -24,6 +24,8 @@ #include "utils/CommonUtil.h" #include "utils/Log.h" +#include + namespace milvus { namespace engine { namespace utils { @@ -293,6 +295,29 @@ ParseMetaUri(const std::string& uri, MetaUriInfo& info) { return Status::OK(); } +std::string +GetIndexName(int32_t index_type) { + static std::map index_type_name = { + {(int32_t)engine::EngineType::FAISS_IDMAP, "IDMAP"}, + {(int32_t)engine::EngineType::FAISS_IVFFLAT, "IVFFLAT"}, + {(int32_t)engine::EngineType::FAISS_IVFSQ8, "IVFSQ8"}, + {(int32_t)engine::EngineType::NSG_MIX, "NSG"}, + {(int32_t)engine::EngineType::ANNOY, "ANNOY"}, + {(int32_t)engine::EngineType::FAISS_IVFSQ8H, "IVFSQ8H"}, + {(int32_t)engine::EngineType::FAISS_PQ, "PQ"}, + {(int32_t)engine::EngineType::SPTAG_KDT, "KDT"}, + {(int32_t)engine::EngineType::SPTAG_BKT, "BKT"}, + {(int32_t)engine::EngineType::FAISS_BIN_IDMAP, "IDMAP"}, + {(int32_t)engine::EngineType::FAISS_BIN_IVFFLAT, "IVFFLAT"}, + }; + + if (index_type_name.find(index_type) == index_type_name.end()) { + return "Unknow"; + } + + return index_type_name[index_type]; +} + } // namespace utils } // namespace engine } // namespace milvus diff --git a/core/src/db/Utils.h b/core/src/db/Utils.h index 589ef060c7..b40d852be0 100644 --- a/core/src/db/Utils.h +++ b/core/src/db/Utils.h @@ -70,6 +70,9 @@ struct MetaUriInfo { Status ParseMetaUri(const std::string& uri, MetaUriInfo& info); +std::string +GetIndexName(int32_t index_type); + } // namespace utils } // namespace engine } // namespace milvus diff --git a/core/src/db/engine/ExecutionEngine.h b/core/src/db/engine/ExecutionEngine.h index c682a75d77..d2c34c0a7e 100644 --- a/core/src/db/engine/ExecutionEngine.h +++ b/core/src/db/engine/ExecutionEngine.h @@ -128,10 +128,6 @@ class ExecutionEngine { Search(int64_t n, const uint8_t* data, int64_t k, const milvus::json& extra_params, float* distances, int64_t* labels, bool hybrid) = 0; - virtual Status - Search(int64_t n, const std::vector& ids, int64_t k, const milvus::json& extra_params, float* distances, - int64_t* labels, bool hybrid) = 0; - virtual std::shared_ptr BuildIndex(const std::string& location, EngineType engine_type) = 0; diff --git a/core/src/db/engine/ExecutionEngineImpl.cpp b/core/src/db/engine/ExecutionEngineImpl.cpp index 4e9b5337ac..d7cab77359 100644 --- a/core/src/db/engine/ExecutionEngineImpl.cpp +++ b/core/src/db/engine/ExecutionEngineImpl.cpp @@ -1194,87 +1194,6 @@ ExecutionEngineImpl::Search(int64_t n, const uint8_t* data, int64_t k, const mil return Status::OK(); } -Status -ExecutionEngineImpl::Search(int64_t n, const std::vector& ids, int64_t k, const milvus::json& extra_params, - float* distances, int64_t* labels, bool hybrid) { - TimeRecorder rc(LogOut("[%s][%ld] ExecutionEngineImpl::Search vector of ids", "search", 0)); - - if (index_ == nullptr) { - LOG_ENGINE_ERROR_ << LogOut("[%s][%ld] ExecutionEngineImpl: index is null, failed to search", "search", 0); - return Status(DB_ERROR, "index is null"); - } - - milvus::json conf = extra_params; - conf[knowhere::meta::TOPK] = k; - auto adapter = knowhere::AdapterMgr::GetInstance().GetAdapter(index_->index_type()); - if (!adapter->CheckSearch(conf, index_->index_type(), index_->index_mode())) { - LOG_ENGINE_ERROR_ << LogOut("[%s][%ld] Illegal search params", "search", 0); - throw Exception(DB_ERROR, "Illegal search params"); - } - - if (hybrid) { - HybridLoad(); - } - - rc.RecordSection("search prepare"); - - // std::string segment_dir; - // utils::GetParentPath(location_, segment_dir); - // segment::SegmentReader segment_reader(segment_dir); - // segment::IdBloomFilterPtr id_bloom_filter_ptr; - // segment_reader.LoadBloomFilter(id_bloom_filter_ptr); - - // Check if the id is present. If so, find its offset - const std::vector& uids = index_->GetUids(); - - std::vector offsets; - /* - std::vector uids; - auto status = segment_reader.LoadUids(uids); - if (!status.ok()) { - return status; - } - */ - - // There is only one id in ids - for (auto& id : ids) { - // if (id_bloom_filter_ptr->Check(id)) { - // if (uids.empty()) { - // segment_reader.LoadUids(uids); - // } - // auto found = std::find(uids.begin(), uids.end(), id); - // if (found != uids.end()) { - // auto offset = std::distance(uids.begin(), found); - // offsets.emplace_back(offset); - // } - // } - auto found = std::find(uids.begin(), uids.end(), id); - if (found != uids.end()) { - auto offset = std::distance(uids.begin(), found); - offsets.emplace_back(offset); - } - } - - rc.RecordSection("get offset"); - - if (!offsets.empty()) { - auto dataset = knowhere::GenDatasetWithIds(offsets.size(), index_->Dim(), nullptr, offsets.data()); - auto result = index_->QueryById(dataset, conf); - rc.RecordSection("query by id done"); - - LOG_ENGINE_DEBUG_ << LogOut("[%s][%ld] get %ld uids from index %s", "search", 0, index_->GetUids().size(), - location_.c_str()); - MapAndCopyResult(result, uids, offsets.size(), k, distances, labels); - rc.RecordSection("map uids " + std::to_string(offsets.size() * k)); - } - - if (hybrid) { - HybridUnset(); - } - - return Status::OK(); -} - Status ExecutionEngineImpl::GetVectorByID(const int64_t& id, float* vector, bool hybrid) { if (index_ == nullptr) { diff --git a/core/src/db/engine/ExecutionEngineImpl.h b/core/src/db/engine/ExecutionEngineImpl.h index 269e61bc9a..3add035ad3 100644 --- a/core/src/db/engine/ExecutionEngineImpl.h +++ b/core/src/db/engine/ExecutionEngineImpl.h @@ -82,10 +82,6 @@ class ExecutionEngineImpl : public ExecutionEngine { Search(int64_t n, const uint8_t* data, int64_t k, const milvus::json& extra_params, float* distances, int64_t* labels, bool hybrid = false) override; - Status - Search(int64_t n, const std::vector& ids, int64_t k, const milvus::json& extra_params, float* distances, - int64_t* labels, bool hybrid) override; - ExecutionEnginePtr BuildIndex(const std::string& location, EngineType engine_type) override; diff --git a/core/src/grpc/gen-milvus/milvus.grpc.pb.cc b/core/src/grpc/gen-milvus/milvus.grpc.pb.cc index 72fd9653d7..297564670f 100644 --- a/core/src/grpc/gen-milvus/milvus.grpc.pb.cc +++ b/core/src/grpc/gen-milvus/milvus.grpc.pb.cc @@ -31,10 +31,11 @@ static const char* MilvusService_method_names[] = { "/milvus.grpc.MilvusService/DescribeIndex", "/milvus.grpc.MilvusService/DropIndex", "/milvus.grpc.MilvusService/CreatePartition", + "/milvus.grpc.MilvusService/HasPartition", "/milvus.grpc.MilvusService/ShowPartitions", "/milvus.grpc.MilvusService/DropPartition", "/milvus.grpc.MilvusService/Insert", - "/milvus.grpc.MilvusService/GetVectorByID", + "/milvus.grpc.MilvusService/GetVectorsByID", "/milvus.grpc.MilvusService/GetVectorIDs", "/milvus.grpc.MilvusService/Search", "/milvus.grpc.MilvusService/SearchByID", @@ -78,33 +79,34 @@ MilvusService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& chan , rpcmethod_DescribeIndex_(MilvusService_method_names[8], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_DropIndex_(MilvusService_method_names[9], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_CreatePartition_(MilvusService_method_names[10], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowPartitions_(MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DropPartition_(MilvusService_method_names[12], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Insert_(MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetVectorByID_(MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetVectorIDs_(MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Search_(MilvusService_method_names[16], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_SearchByID_(MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_SearchInFiles_(MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Cmd_(MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DeleteByID_(MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_PreloadCollection_(MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Flush_(MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Compact_(MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_CreateHybridCollection_(MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HasHybridCollection_(MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DropHybridCollection_(MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DescribeHybridCollection_(MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_CountHybridCollection_(MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowHybridCollections_(MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowHybridCollectionInfo_(MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_PreloadHybridCollection_(MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_InsertEntity_(MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HybridSearch_(MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HybridSearchInSegments_(MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetEntityByID_(MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetEntityIDs_(MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DeleteEntitiesByID_(MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HasPartition_(MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowPartitions_(MilvusService_method_names[12], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DropPartition_(MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Insert_(MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetVectorsByID_(MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetVectorIDs_(MilvusService_method_names[16], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Search_(MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SearchByID_(MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SearchInFiles_(MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Cmd_(MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DeleteByID_(MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_PreloadCollection_(MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Flush_(MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Compact_(MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CreateHybridCollection_(MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HasHybridCollection_(MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DropHybridCollection_(MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DescribeHybridCollection_(MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CountHybridCollection_(MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowHybridCollections_(MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowHybridCollectionInfo_(MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_PreloadHybridCollection_(MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_InsertEntity_(MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HybridSearch_(MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HybridSearchInSegments_(MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetEntityByID_(MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetEntityIDs_(MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DeleteEntitiesByID_(MilvusService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status MilvusService::Stub::CreateCollection(::grpc::ClientContext* context, const ::milvus::grpc::CollectionSchema& request, ::milvus::grpc::Status* response) { @@ -415,6 +417,34 @@ void MilvusService::Stub::experimental_async::CreatePartition(::grpc::ClientCont return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::Status>::Create(channel_.get(), cq, rpcmethod_CreatePartition_, context, request, false); } +::grpc::Status MilvusService::Stub::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_HasPartition_, context, request, response); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, std::move(f)); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, std::move(f)); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, reactor); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* MilvusService::Stub::AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::BoolReply>::Create(channel_.get(), cq, rpcmethod_HasPartition_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* MilvusService::Stub::PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::BoolReply>::Create(channel_.get(), cq, rpcmethod_HasPartition_, context, request, false); +} + ::grpc::Status MilvusService::Stub::ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::milvus::grpc::PartitionList* response) { return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_ShowPartitions_, context, request, response); } @@ -499,32 +529,32 @@ void MilvusService::Stub::experimental_async::Insert(::grpc::ClientContext* cont return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorIds>::Create(channel_.get(), cq, rpcmethod_Insert_, context, request, false); } -::grpc::Status MilvusService::Stub::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) { - return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetVectorByID_, context, request, response); +::grpc::Status MilvusService::Stub::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetVectorsByID_, context, request, response); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function f) { - ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, std::move(f)); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, std::move(f)); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function f) { - ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, std::move(f)); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, std::move(f)); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, reactor); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, reactor); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, reactor); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* MilvusService::Stub::AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorData>::Create(channel_.get(), cq, rpcmethod_GetVectorByID_, context, request, true); +::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* MilvusService::Stub::AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorsData>::Create(channel_.get(), cq, rpcmethod_GetVectorsByID_, context, request, true); } -::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* MilvusService::Stub::PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorData>::Create(channel_.get(), cq, rpcmethod_GetVectorByID_, context, request, false); +::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* MilvusService::Stub::PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorsData>::Create(channel_.get(), cq, rpcmethod_GetVectorsByID_, context, request, false); } ::grpc::Status MilvusService::Stub::GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::milvus::grpc::VectorIds* response) { @@ -1230,135 +1260,140 @@ MilvusService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>( + std::mem_fn(&MilvusService::Service::HasPartition), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + MilvusService_method_names[12], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>( std::mem_fn(&MilvusService::Service::ShowPartitions), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[12], + MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DropPartition), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[13], + MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>( std::mem_fn(&MilvusService::Service::Insert), this))); - AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[14], - ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>( - std::mem_fn(&MilvusService::Service::GetVectorByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>( + std::mem_fn(&MilvusService::Service::GetVectorsByID), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + MilvusService_method_names[16], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>( std::mem_fn(&MilvusService::Service::GetVectorIDs), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[16], + MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::Search), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[17], + MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::SearchByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[18], + MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::SearchInFiles), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[19], + MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Command, ::milvus::grpc::StringReply>( std::mem_fn(&MilvusService::Service::Cmd), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[20], + MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DeleteByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[21], + MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::PreloadCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[22], + MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::FlushParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::Flush), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[23], + MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::Compact), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[24], + MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Mapping, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::CreateHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[25], + MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>( std::mem_fn(&MilvusService::Service::HasHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[26], + MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DropHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[27], + MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>( std::mem_fn(&MilvusService::Service::DescribeHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[28], + MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>( std::mem_fn(&MilvusService::Service::CountHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[29], + MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Command, ::milvus::grpc::MappingList>( std::mem_fn(&MilvusService::Service::ShowHybridCollections), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[30], + MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>( std::mem_fn(&MilvusService::Service::ShowHybridCollectionInfo), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[31], + MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::PreloadHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[32], + MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>( std::mem_fn(&MilvusService::Service::InsertEntity), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[33], + MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::HybridSearch), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[34], + MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::HybridSearchInSegments), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[35], + MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>( std::mem_fn(&MilvusService::Service::GetEntityByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[36], + MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>( std::mem_fn(&MilvusService::Service::GetEntityIDs), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[37], + MilvusService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DeleteEntitiesByID), this))); @@ -1444,6 +1479,13 @@ MilvusService::Service::~Service() { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status MilvusService::Service::HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + ::grpc::Status MilvusService::Service::ShowPartitions(::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response) { (void) context; (void) request; @@ -1465,7 +1507,7 @@ MilvusService::Service::~Service() { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status MilvusService::Service::GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response) { +::grpc::Status MilvusService::Service::GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response) { (void) context; (void) request; (void) response; diff --git a/core/src/grpc/gen-milvus/milvus.grpc.pb.h b/core/src/grpc/gen-milvus/milvus.grpc.pb.h index fd2b54b5a1..969758d750 100644 --- a/core/src/grpc/gen-milvus/milvus.grpc.pb.h +++ b/core/src/grpc/gen-milvus/milvus.grpc.pb.h @@ -191,6 +191,19 @@ class MilvusService final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>>(PrepareAsyncCreatePartitionRaw(context, request, cq)); } // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual ::grpc::Status HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>> AsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>>(AsyncHasPartitionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>> PrepareAsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>>(PrepareAsyncHasPartitionRaw(context, request, cq)); + } + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -230,17 +243,17 @@ class MilvusService final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>>(PrepareAsyncInsertRaw(context, request, cq)); } // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual ::grpc::Status GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>> AsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>>(AsyncGetVectorByIDRaw(context, request, cq)); + // @return VectorsData + virtual ::grpc::Status GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>> AsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>>(AsyncGetVectorsByIDRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>> PrepareAsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>>(PrepareAsyncGetVectorByIDRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>> PrepareAsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>>(PrepareAsyncGetVectorsByIDRaw(context, request, cq)); } // * // @brief This method is used to get vector ids from a segment @@ -584,6 +597,16 @@ class MilvusService final { virtual void CreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -614,15 +637,15 @@ class MilvusService final { virtual void Insert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // @return VectorsData + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * // @brief This method is used to get vector ids from a segment // @@ -807,14 +830,16 @@ class MilvusService final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncDropIndexRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* AsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>* AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>* PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::PartitionList>* AsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::PartitionList>* PrepareAsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* AsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* AsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* PrepareAsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>* AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>* PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>* AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>* PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* AsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* PrepareAsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::TopKQueryResult>* AsyncSearchRaw(::grpc::ClientContext* context, const ::milvus::grpc::SearchParam& request, ::grpc::CompletionQueue* cq) = 0; @@ -942,6 +967,13 @@ class MilvusService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>> PrepareAsyncCreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>>(PrepareAsyncCreatePartitionRaw(context, request, cq)); } + ::grpc::Status HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>> AsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>>(AsyncHasPartitionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>> PrepareAsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>>(PrepareAsyncHasPartitionRaw(context, request, cq)); + } ::grpc::Status ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::milvus::grpc::PartitionList* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>> AsyncShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>>(AsyncShowPartitionsRaw(context, request, cq)); @@ -963,12 +995,12 @@ class MilvusService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>> PrepareAsyncInsert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>>(PrepareAsyncInsertRaw(context, request, cq)); } - ::grpc::Status GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>> AsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>>(AsyncGetVectorByIDRaw(context, request, cq)); + ::grpc::Status GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>> AsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>>(AsyncGetVectorsByIDRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>> PrepareAsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>>(PrepareAsyncGetVectorByIDRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>> PrepareAsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>>(PrepareAsyncGetVectorsByIDRaw(context, request, cq)); } ::grpc::Status GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::milvus::grpc::VectorIds* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>> AsyncGetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) { @@ -1178,6 +1210,10 @@ class MilvusService final { void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, std::function) override; void CreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function) override; + void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function) override; + void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response, std::function) override; void ShowPartitions(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::PartitionList* response, std::function) override; void ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; @@ -1190,10 +1226,10 @@ class MilvusService final { void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, std::function) override; void Insert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; - void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function) override; - void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function) override; - void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; - void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam* request, ::milvus::grpc::VectorIds* response, std::function) override; void GetVectorIDs(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, std::function) override; void GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; @@ -1319,14 +1355,16 @@ class MilvusService final { ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncDropIndexRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* AsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>* AsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>* PrepareAsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* AsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* AsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* PrepareAsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* AsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* PrepareAsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::TopKQueryResult>* AsyncSearchRaw(::grpc::ClientContext* context, const ::milvus::grpc::SearchParam& request, ::grpc::CompletionQueue* cq) override; @@ -1384,10 +1422,11 @@ class MilvusService final { const ::grpc::internal::RpcMethod rpcmethod_DescribeIndex_; const ::grpc::internal::RpcMethod rpcmethod_DropIndex_; const ::grpc::internal::RpcMethod rpcmethod_CreatePartition_; + const ::grpc::internal::RpcMethod rpcmethod_HasPartition_; const ::grpc::internal::RpcMethod rpcmethod_ShowPartitions_; const ::grpc::internal::RpcMethod rpcmethod_DropPartition_; const ::grpc::internal::RpcMethod rpcmethod_Insert_; - const ::grpc::internal::RpcMethod rpcmethod_GetVectorByID_; + const ::grpc::internal::RpcMethod rpcmethod_GetVectorsByID_; const ::grpc::internal::RpcMethod rpcmethod_GetVectorIDs_; const ::grpc::internal::RpcMethod rpcmethod_Search_; const ::grpc::internal::RpcMethod rpcmethod_SearchByID_; @@ -1496,6 +1535,13 @@ class MilvusService final { // @return Status virtual ::grpc::Status CreatePartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response); // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual ::grpc::Status HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response); + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -1517,12 +1563,12 @@ class MilvusService final { // @return VectorIds virtual ::grpc::Status Insert(::grpc::ServerContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response); // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual ::grpc::Status GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response); + // @return VectorsData + virtual ::grpc::Status GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response); // * // @brief This method is used to get vector ids from a segment // @@ -1835,12 +1881,32 @@ class MilvusService final { } }; template + class WithAsyncMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_HasPartition() { + ::grpc::Service::MarkMethodAsync(11); + } + ~WithAsyncMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHasPartition(::grpc::ServerContext* context, ::milvus::grpc::PartitionParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::BoolReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowPartitions() { - ::grpc::Service::MarkMethodAsync(11); + ::grpc::Service::MarkMethodAsync(12); } ~WithAsyncMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -1851,7 +1917,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowPartitions(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::PartitionList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1860,7 +1926,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DropPartition() { - ::grpc::Service::MarkMethodAsync(12); + ::grpc::Service::MarkMethodAsync(13); } ~WithAsyncMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -1871,7 +1937,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropPartition(::grpc::ServerContext* context, ::milvus::grpc::PartitionParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1880,7 +1946,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Insert() { - ::grpc::Service::MarkMethodAsync(13); + ::grpc::Service::MarkMethodAsync(14); } ~WithAsyncMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -1891,27 +1957,27 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsert(::grpc::ServerContext* context, ::milvus::grpc::InsertParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorIds>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_GetVectorByID : public BaseClass { + class WithAsyncMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_GetVectorByID() { - ::grpc::Service::MarkMethodAsync(14); + WithAsyncMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodAsync(15); } - ~WithAsyncMethod_GetVectorByID() override { + ~WithAsyncMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestGetVectorByID(::grpc::ServerContext* context, ::milvus::grpc::VectorIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorData>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + void RequestGetVectorsByID(::grpc::ServerContext* context, ::milvus::grpc::VectorsIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorsData>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1920,7 +1986,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodAsync(15); + ::grpc::Service::MarkMethodAsync(16); } ~WithAsyncMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -1931,7 +1997,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetVectorIDs(::grpc::ServerContext* context, ::milvus::grpc::GetVectorIDsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorIds>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1940,7 +2006,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Search() { - ::grpc::Service::MarkMethodAsync(16); + ::grpc::Service::MarkMethodAsync(17); } ~WithAsyncMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -1951,7 +2017,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearch(::grpc::ServerContext* context, ::milvus::grpc::SearchParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1960,7 +2026,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SearchByID() { - ::grpc::Service::MarkMethodAsync(17); + ::grpc::Service::MarkMethodAsync(18); } ~WithAsyncMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -1971,7 +2037,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchByID(::grpc::ServerContext* context, ::milvus::grpc::SearchByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1980,7 +2046,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SearchInFiles() { - ::grpc::Service::MarkMethodAsync(18); + ::grpc::Service::MarkMethodAsync(19); } ~WithAsyncMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -1991,7 +2057,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchInFiles(::grpc::ServerContext* context, ::milvus::grpc::SearchInFilesParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2000,7 +2066,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Cmd() { - ::grpc::Service::MarkMethodAsync(19); + ::grpc::Service::MarkMethodAsync(20); } ~WithAsyncMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -2011,7 +2077,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCmd(::grpc::ServerContext* context, ::milvus::grpc::Command* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::StringReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2020,7 +2086,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DeleteByID() { - ::grpc::Service::MarkMethodAsync(20); + ::grpc::Service::MarkMethodAsync(21); } ~WithAsyncMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -2031,7 +2097,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteByID(::grpc::ServerContext* context, ::milvus::grpc::DeleteByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2040,7 +2106,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_PreloadCollection() { - ::grpc::Service::MarkMethodAsync(21); + ::grpc::Service::MarkMethodAsync(22); } ~WithAsyncMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2051,7 +2117,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2060,7 +2126,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Flush() { - ::grpc::Service::MarkMethodAsync(22); + ::grpc::Service::MarkMethodAsync(23); } ~WithAsyncMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -2071,7 +2137,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlush(::grpc::ServerContext* context, ::milvus::grpc::FlushParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2080,7 +2146,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Compact() { - ::grpc::Service::MarkMethodAsync(23); + ::grpc::Service::MarkMethodAsync(24); } ~WithAsyncMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -2091,7 +2157,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCompact(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2100,7 +2166,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodAsync(24); + ::grpc::Service::MarkMethodAsync(25); } ~WithAsyncMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2111,7 +2177,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::Mapping* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2120,7 +2186,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodAsync(25); + ::grpc::Service::MarkMethodAsync(26); } ~WithAsyncMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2131,7 +2197,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHasHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::BoolReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2140,7 +2206,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodAsync(26); + ::grpc::Service::MarkMethodAsync(27); } ~WithAsyncMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2151,7 +2217,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2160,7 +2226,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodAsync(27); + ::grpc::Service::MarkMethodAsync(28); } ~WithAsyncMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2171,7 +2237,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDescribeHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Mapping>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2180,7 +2246,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodAsync(28); + ::grpc::Service::MarkMethodAsync(29); } ~WithAsyncMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2191,7 +2257,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCountHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::CollectionRowCount>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2200,7 +2266,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodAsync(29); + ::grpc::Service::MarkMethodAsync(30); } ~WithAsyncMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -2211,7 +2277,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollections(::grpc::ServerContext* context, ::milvus::grpc::Command* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::MappingList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2220,7 +2286,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodAsync(30); + ::grpc::Service::MarkMethodAsync(31); } ~WithAsyncMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -2231,7 +2297,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollectionInfo(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::CollectionInfo>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2240,7 +2306,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodAsync(31); + ::grpc::Service::MarkMethodAsync(32); } ~WithAsyncMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2251,7 +2317,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2260,7 +2326,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_InsertEntity() { - ::grpc::Service::MarkMethodAsync(32); + ::grpc::Service::MarkMethodAsync(33); } ~WithAsyncMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -2271,7 +2337,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsertEntity(::grpc::ServerContext* context, ::milvus::grpc::HInsertParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntityIDs>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2280,7 +2346,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HybridSearch() { - ::grpc::Service::MarkMethodAsync(33); + ::grpc::Service::MarkMethodAsync(34); } ~WithAsyncMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -2291,7 +2357,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearch(::grpc::ServerContext* context, ::milvus::grpc::HSearchParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2300,7 +2366,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodAsync(34); + ::grpc::Service::MarkMethodAsync(35); } ~WithAsyncMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -2311,7 +2377,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearchInSegments(::grpc::ServerContext* context, ::milvus::grpc::HSearchInSegmentsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2320,7 +2386,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetEntityByID() { - ::grpc::Service::MarkMethodAsync(35); + ::grpc::Service::MarkMethodAsync(36); } ~WithAsyncMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -2331,7 +2397,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityByID(::grpc::ServerContext* context, ::milvus::grpc::HEntityIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntity>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2340,7 +2406,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodAsync(36); + ::grpc::Service::MarkMethodAsync(37); } ~WithAsyncMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -2351,7 +2417,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityIDs(::grpc::ServerContext* context, ::milvus::grpc::HGetEntityIDsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntityIDs>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2360,7 +2426,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodAsync(37); + ::grpc::Service::MarkMethodAsync(38); } ~WithAsyncMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -2371,10 +2437,10 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteEntitiesByID(::grpc::ServerContext* context, ::milvus::grpc::HDeleteByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + typedef WithAsyncMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class ExperimentalWithCallbackMethod_CreateCollection : public BaseClass { private: @@ -2717,12 +2783,43 @@ class MilvusService final { virtual void CreatePartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::Status* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithCallbackMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_HasPartition() { + ::grpc::Service::experimental().MarkMethodCallback(11, + new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>( + [this](::grpc::ServerContext* context, + const ::milvus::grpc::PartitionParam* request, + ::milvus::grpc::BoolReply* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->HasPartition(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_HasPartition( + ::grpc::experimental::MessageAllocator< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>* allocator) { + static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>*>( + ::grpc::Service::experimental().GetHandler(11)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithCallbackMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowPartitions() { - ::grpc::Service::experimental().MarkMethodCallback(11, + ::grpc::Service::experimental().MarkMethodCallback(12, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -2734,7 +2831,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowPartitions( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>*>( - ::grpc::Service::experimental().GetHandler(11)) + ::grpc::Service::experimental().GetHandler(12)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowPartitions() override { @@ -2753,7 +2850,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DropPartition() { - ::grpc::Service::experimental().MarkMethodCallback(12, + ::grpc::Service::experimental().MarkMethodCallback(13, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, @@ -2765,7 +2862,7 @@ class MilvusService final { void SetMessageAllocatorFor_DropPartition( ::grpc::experimental::MessageAllocator< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(12)) + ::grpc::Service::experimental().GetHandler(13)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DropPartition() override { @@ -2784,7 +2881,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Insert() { - ::grpc::Service::experimental().MarkMethodCallback(13, + ::grpc::Service::experimental().MarkMethodCallback(14, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>( [this](::grpc::ServerContext* context, const ::milvus::grpc::InsertParam* request, @@ -2796,7 +2893,7 @@ class MilvusService final { void SetMessageAllocatorFor_Insert( ::grpc::experimental::MessageAllocator< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>*>( - ::grpc::Service::experimental().GetHandler(13)) + ::grpc::Service::experimental().GetHandler(14)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Insert() override { @@ -2810,35 +2907,35 @@ class MilvusService final { virtual void Insert(::grpc::ServerContext* /*context*/, const ::milvus::grpc::InsertParam* /*request*/, ::milvus::grpc::VectorIds* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template - class ExperimentalWithCallbackMethod_GetVectorByID : public BaseClass { + class ExperimentalWithCallbackMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_GetVectorByID() { - ::grpc::Service::experimental().MarkMethodCallback(14, - new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>( + ExperimentalWithCallbackMethod_GetVectorsByID() { + ::grpc::Service::experimental().MarkMethodCallback(15, + new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>( [this](::grpc::ServerContext* context, - const ::milvus::grpc::VectorIdentity* request, - ::milvus::grpc::VectorData* response, + const ::milvus::grpc::VectorsIdentity* request, + ::milvus::grpc::VectorsData* response, ::grpc::experimental::ServerCallbackRpcController* controller) { - return this->GetVectorByID(context, request, response, controller); + return this->GetVectorsByID(context, request, response, controller); })); } - void SetMessageAllocatorFor_GetVectorByID( - ::grpc::experimental::MessageAllocator< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>* allocator) { - static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>*>( - ::grpc::Service::experimental().GetHandler(14)) + void SetMessageAllocatorFor_GetVectorsByID( + ::grpc::experimental::MessageAllocator< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>* allocator) { + static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>*>( + ::grpc::Service::experimental().GetHandler(15)) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_GetVectorByID() override { + ~ExperimentalWithCallbackMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual void GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + virtual void GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template class ExperimentalWithCallbackMethod_GetVectorIDs : public BaseClass { @@ -2846,7 +2943,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetVectorIDs() { - ::grpc::Service::experimental().MarkMethodCallback(15, + ::grpc::Service::experimental().MarkMethodCallback(16, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>( [this](::grpc::ServerContext* context, const ::milvus::grpc::GetVectorIDsParam* request, @@ -2858,7 +2955,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetVectorIDs( ::grpc::experimental::MessageAllocator< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>*>( - ::grpc::Service::experimental().GetHandler(15)) + ::grpc::Service::experimental().GetHandler(16)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetVectorIDs() override { @@ -2877,7 +2974,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Search() { - ::grpc::Service::experimental().MarkMethodCallback(16, + ::grpc::Service::experimental().MarkMethodCallback(17, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchParam* request, @@ -2889,7 +2986,7 @@ class MilvusService final { void SetMessageAllocatorFor_Search( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(16)) + ::grpc::Service::experimental().GetHandler(17)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Search() override { @@ -2908,7 +3005,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_SearchByID() { - ::grpc::Service::experimental().MarkMethodCallback(17, + ::grpc::Service::experimental().MarkMethodCallback(18, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchByIDParam* request, @@ -2920,7 +3017,7 @@ class MilvusService final { void SetMessageAllocatorFor_SearchByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(17)) + ::grpc::Service::experimental().GetHandler(18)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_SearchByID() override { @@ -2939,7 +3036,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_SearchInFiles() { - ::grpc::Service::experimental().MarkMethodCallback(18, + ::grpc::Service::experimental().MarkMethodCallback(19, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchInFilesParam* request, @@ -2951,7 +3048,7 @@ class MilvusService final { void SetMessageAllocatorFor_SearchInFiles( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(18)) + ::grpc::Service::experimental().GetHandler(19)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_SearchInFiles() override { @@ -2970,7 +3067,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Cmd() { - ::grpc::Service::experimental().MarkMethodCallback(19, + ::grpc::Service::experimental().MarkMethodCallback(20, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Command* request, @@ -2982,7 +3079,7 @@ class MilvusService final { void SetMessageAllocatorFor_Cmd( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Command, ::milvus::grpc::StringReply>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>*>( - ::grpc::Service::experimental().GetHandler(19)) + ::grpc::Service::experimental().GetHandler(20)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Cmd() override { @@ -3001,7 +3098,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DeleteByID() { - ::grpc::Service::experimental().MarkMethodCallback(20, + ::grpc::Service::experimental().MarkMethodCallback(21, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::DeleteByIDParam* request, @@ -3013,7 +3110,7 @@ class MilvusService final { void SetMessageAllocatorFor_DeleteByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(20)) + ::grpc::Service::experimental().GetHandler(21)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DeleteByID() override { @@ -3032,7 +3129,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_PreloadCollection() { - ::grpc::Service::experimental().MarkMethodCallback(21, + ::grpc::Service::experimental().MarkMethodCallback(22, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3044,7 +3141,7 @@ class MilvusService final { void SetMessageAllocatorFor_PreloadCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(21)) + ::grpc::Service::experimental().GetHandler(22)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_PreloadCollection() override { @@ -3063,7 +3160,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Flush() { - ::grpc::Service::experimental().MarkMethodCallback(22, + ::grpc::Service::experimental().MarkMethodCallback(23, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::FlushParam* request, @@ -3075,7 +3172,7 @@ class MilvusService final { void SetMessageAllocatorFor_Flush( ::grpc::experimental::MessageAllocator< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(22)) + ::grpc::Service::experimental().GetHandler(23)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Flush() override { @@ -3094,7 +3191,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Compact() { - ::grpc::Service::experimental().MarkMethodCallback(23, + ::grpc::Service::experimental().MarkMethodCallback(24, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3106,7 +3203,7 @@ class MilvusService final { void SetMessageAllocatorFor_Compact( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(23)) + ::grpc::Service::experimental().GetHandler(24)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Compact() override { @@ -3125,7 +3222,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_CreateHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(24, + ::grpc::Service::experimental().MarkMethodCallback(25, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Mapping* request, @@ -3137,7 +3234,7 @@ class MilvusService final { void SetMessageAllocatorFor_CreateHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Mapping, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(24)) + ::grpc::Service::experimental().GetHandler(25)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_CreateHybridCollection() override { @@ -3156,7 +3253,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HasHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(25, + ::grpc::Service::experimental().MarkMethodCallback(26, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3168,7 +3265,7 @@ class MilvusService final { void SetMessageAllocatorFor_HasHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>*>( - ::grpc::Service::experimental().GetHandler(25)) + ::grpc::Service::experimental().GetHandler(26)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HasHybridCollection() override { @@ -3187,7 +3284,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DropHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(26, + ::grpc::Service::experimental().MarkMethodCallback(27, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3199,7 +3296,7 @@ class MilvusService final { void SetMessageAllocatorFor_DropHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(26)) + ::grpc::Service::experimental().GetHandler(27)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DropHybridCollection() override { @@ -3218,7 +3315,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DescribeHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(27, + ::grpc::Service::experimental().MarkMethodCallback(28, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3230,7 +3327,7 @@ class MilvusService final { void SetMessageAllocatorFor_DescribeHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>*>( - ::grpc::Service::experimental().GetHandler(27)) + ::grpc::Service::experimental().GetHandler(28)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DescribeHybridCollection() override { @@ -3249,7 +3346,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_CountHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(28, + ::grpc::Service::experimental().MarkMethodCallback(29, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3261,7 +3358,7 @@ class MilvusService final { void SetMessageAllocatorFor_CountHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>*>( - ::grpc::Service::experimental().GetHandler(28)) + ::grpc::Service::experimental().GetHandler(29)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_CountHybridCollection() override { @@ -3280,7 +3377,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowHybridCollections() { - ::grpc::Service::experimental().MarkMethodCallback(29, + ::grpc::Service::experimental().MarkMethodCallback(30, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Command* request, @@ -3292,7 +3389,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowHybridCollections( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Command, ::milvus::grpc::MappingList>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>*>( - ::grpc::Service::experimental().GetHandler(29)) + ::grpc::Service::experimental().GetHandler(30)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowHybridCollections() override { @@ -3311,7 +3408,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowHybridCollectionInfo() { - ::grpc::Service::experimental().MarkMethodCallback(30, + ::grpc::Service::experimental().MarkMethodCallback(31, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3323,7 +3420,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowHybridCollectionInfo( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>*>( - ::grpc::Service::experimental().GetHandler(30)) + ::grpc::Service::experimental().GetHandler(31)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowHybridCollectionInfo() override { @@ -3342,7 +3439,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_PreloadHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(31, + ::grpc::Service::experimental().MarkMethodCallback(32, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3354,7 +3451,7 @@ class MilvusService final { void SetMessageAllocatorFor_PreloadHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(31)) + ::grpc::Service::experimental().GetHandler(32)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_PreloadHybridCollection() override { @@ -3373,7 +3470,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_InsertEntity() { - ::grpc::Service::experimental().MarkMethodCallback(32, + ::grpc::Service::experimental().MarkMethodCallback(33, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HInsertParam* request, @@ -3385,7 +3482,7 @@ class MilvusService final { void SetMessageAllocatorFor_InsertEntity( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>*>( - ::grpc::Service::experimental().GetHandler(32)) + ::grpc::Service::experimental().GetHandler(33)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_InsertEntity() override { @@ -3404,7 +3501,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HybridSearch() { - ::grpc::Service::experimental().MarkMethodCallback(33, + ::grpc::Service::experimental().MarkMethodCallback(34, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HSearchParam* request, @@ -3416,7 +3513,7 @@ class MilvusService final { void SetMessageAllocatorFor_HybridSearch( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(33)) + ::grpc::Service::experimental().GetHandler(34)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HybridSearch() override { @@ -3435,7 +3532,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HybridSearchInSegments() { - ::grpc::Service::experimental().MarkMethodCallback(34, + ::grpc::Service::experimental().MarkMethodCallback(35, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HSearchInSegmentsParam* request, @@ -3447,7 +3544,7 @@ class MilvusService final { void SetMessageAllocatorFor_HybridSearchInSegments( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(34)) + ::grpc::Service::experimental().GetHandler(35)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HybridSearchInSegments() override { @@ -3466,7 +3563,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetEntityByID() { - ::grpc::Service::experimental().MarkMethodCallback(35, + ::grpc::Service::experimental().MarkMethodCallback(36, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HEntityIdentity* request, @@ -3478,7 +3575,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetEntityByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>*>( - ::grpc::Service::experimental().GetHandler(35)) + ::grpc::Service::experimental().GetHandler(36)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetEntityByID() override { @@ -3497,7 +3594,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetEntityIDs() { - ::grpc::Service::experimental().MarkMethodCallback(36, + ::grpc::Service::experimental().MarkMethodCallback(37, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HGetEntityIDsParam* request, @@ -3509,7 +3606,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetEntityIDs( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>*>( - ::grpc::Service::experimental().GetHandler(36)) + ::grpc::Service::experimental().GetHandler(37)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetEntityIDs() override { @@ -3528,7 +3625,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DeleteEntitiesByID() { - ::grpc::Service::experimental().MarkMethodCallback(37, + ::grpc::Service::experimental().MarkMethodCallback(38, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HDeleteByIDParam* request, @@ -3540,7 +3637,7 @@ class MilvusService final { void SetMessageAllocatorFor_DeleteEntitiesByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(37)) + ::grpc::Service::experimental().GetHandler(38)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DeleteEntitiesByID() override { @@ -3553,7 +3650,7 @@ class MilvusService final { } virtual void DeleteEntitiesByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::HDeleteByIDParam* /*request*/, ::milvus::grpc::Status* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; - typedef ExperimentalWithCallbackMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; + typedef ExperimentalWithCallbackMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; template class WithGenericMethod_CreateCollection : public BaseClass { private: @@ -3742,12 +3839,29 @@ class MilvusService final { } }; template + class WithGenericMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_HasPartition() { + ::grpc::Service::MarkMethodGeneric(11); + } + ~WithGenericMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowPartitions() { - ::grpc::Service::MarkMethodGeneric(11); + ::grpc::Service::MarkMethodGeneric(12); } ~WithGenericMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -3764,7 +3878,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DropPartition() { - ::grpc::Service::MarkMethodGeneric(12); + ::grpc::Service::MarkMethodGeneric(13); } ~WithGenericMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -3781,7 +3895,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Insert() { - ::grpc::Service::MarkMethodGeneric(13); + ::grpc::Service::MarkMethodGeneric(14); } ~WithGenericMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -3793,18 +3907,18 @@ class MilvusService final { } }; template - class WithGenericMethod_GetVectorByID : public BaseClass { + class WithGenericMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_GetVectorByID() { - ::grpc::Service::MarkMethodGeneric(14); + WithGenericMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodGeneric(15); } - ~WithGenericMethod_GetVectorByID() override { + ~WithGenericMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -3815,7 +3929,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodGeneric(15); + ::grpc::Service::MarkMethodGeneric(16); } ~WithGenericMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -3832,7 +3946,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Search() { - ::grpc::Service::MarkMethodGeneric(16); + ::grpc::Service::MarkMethodGeneric(17); } ~WithGenericMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -3849,7 +3963,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SearchByID() { - ::grpc::Service::MarkMethodGeneric(17); + ::grpc::Service::MarkMethodGeneric(18); } ~WithGenericMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -3866,7 +3980,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SearchInFiles() { - ::grpc::Service::MarkMethodGeneric(18); + ::grpc::Service::MarkMethodGeneric(19); } ~WithGenericMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -3883,7 +3997,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Cmd() { - ::grpc::Service::MarkMethodGeneric(19); + ::grpc::Service::MarkMethodGeneric(20); } ~WithGenericMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -3900,7 +4014,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DeleteByID() { - ::grpc::Service::MarkMethodGeneric(20); + ::grpc::Service::MarkMethodGeneric(21); } ~WithGenericMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -3917,7 +4031,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_PreloadCollection() { - ::grpc::Service::MarkMethodGeneric(21); + ::grpc::Service::MarkMethodGeneric(22); } ~WithGenericMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -3934,7 +4048,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Flush() { - ::grpc::Service::MarkMethodGeneric(22); + ::grpc::Service::MarkMethodGeneric(23); } ~WithGenericMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -3951,7 +4065,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Compact() { - ::grpc::Service::MarkMethodGeneric(23); + ::grpc::Service::MarkMethodGeneric(24); } ~WithGenericMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -3968,7 +4082,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodGeneric(24); + ::grpc::Service::MarkMethodGeneric(25); } ~WithGenericMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -3985,7 +4099,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodGeneric(25); + ::grpc::Service::MarkMethodGeneric(26); } ~WithGenericMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4002,7 +4116,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodGeneric(26); + ::grpc::Service::MarkMethodGeneric(27); } ~WithGenericMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4019,7 +4133,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodGeneric(27); + ::grpc::Service::MarkMethodGeneric(28); } ~WithGenericMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4036,7 +4150,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodGeneric(28); + ::grpc::Service::MarkMethodGeneric(29); } ~WithGenericMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4053,7 +4167,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodGeneric(29); + ::grpc::Service::MarkMethodGeneric(30); } ~WithGenericMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -4070,7 +4184,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodGeneric(30); + ::grpc::Service::MarkMethodGeneric(31); } ~WithGenericMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -4087,7 +4201,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodGeneric(31); + ::grpc::Service::MarkMethodGeneric(32); } ~WithGenericMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4104,7 +4218,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_InsertEntity() { - ::grpc::Service::MarkMethodGeneric(32); + ::grpc::Service::MarkMethodGeneric(33); } ~WithGenericMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4121,7 +4235,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HybridSearch() { - ::grpc::Service::MarkMethodGeneric(33); + ::grpc::Service::MarkMethodGeneric(34); } ~WithGenericMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -4138,7 +4252,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodGeneric(34); + ::grpc::Service::MarkMethodGeneric(35); } ~WithGenericMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -4155,7 +4269,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetEntityByID() { - ::grpc::Service::MarkMethodGeneric(35); + ::grpc::Service::MarkMethodGeneric(36); } ~WithGenericMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -4172,7 +4286,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodGeneric(36); + ::grpc::Service::MarkMethodGeneric(37); } ~WithGenericMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4189,7 +4303,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodGeneric(37); + ::grpc::Service::MarkMethodGeneric(38); } ~WithGenericMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -4421,12 +4535,32 @@ class MilvusService final { } }; template + class WithRawMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_HasPartition() { + ::grpc::Service::MarkMethodRaw(11); + } + ~WithRawMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHasPartition(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowPartitions() { - ::grpc::Service::MarkMethodRaw(11); + ::grpc::Service::MarkMethodRaw(12); } ~WithRawMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -4437,7 +4571,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowPartitions(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4446,7 +4580,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DropPartition() { - ::grpc::Service::MarkMethodRaw(12); + ::grpc::Service::MarkMethodRaw(13); } ~WithRawMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -4457,7 +4591,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropPartition(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4466,7 +4600,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Insert() { - ::grpc::Service::MarkMethodRaw(13); + ::grpc::Service::MarkMethodRaw(14); } ~WithRawMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -4477,27 +4611,27 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsert(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_GetVectorByID : public BaseClass { + class WithRawMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_GetVectorByID() { - ::grpc::Service::MarkMethodRaw(14); + WithRawMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodRaw(15); } - ~WithRawMethod_GetVectorByID() override { + ~WithRawMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestGetVectorByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + void RequestGetVectorsByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4506,7 +4640,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodRaw(15); + ::grpc::Service::MarkMethodRaw(16); } ~WithRawMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4517,7 +4651,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetVectorIDs(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4526,7 +4660,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Search() { - ::grpc::Service::MarkMethodRaw(16); + ::grpc::Service::MarkMethodRaw(17); } ~WithRawMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -4537,7 +4671,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearch(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4546,7 +4680,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SearchByID() { - ::grpc::Service::MarkMethodRaw(17); + ::grpc::Service::MarkMethodRaw(18); } ~WithRawMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -4557,7 +4691,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4566,7 +4700,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SearchInFiles() { - ::grpc::Service::MarkMethodRaw(18); + ::grpc::Service::MarkMethodRaw(19); } ~WithRawMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -4577,7 +4711,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchInFiles(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4586,7 +4720,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Cmd() { - ::grpc::Service::MarkMethodRaw(19); + ::grpc::Service::MarkMethodRaw(20); } ~WithRawMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -4597,7 +4731,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCmd(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4606,7 +4740,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DeleteByID() { - ::grpc::Service::MarkMethodRaw(20); + ::grpc::Service::MarkMethodRaw(21); } ~WithRawMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -4617,7 +4751,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4626,7 +4760,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_PreloadCollection() { - ::grpc::Service::MarkMethodRaw(21); + ::grpc::Service::MarkMethodRaw(22); } ~WithRawMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4637,7 +4771,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4646,7 +4780,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Flush() { - ::grpc::Service::MarkMethodRaw(22); + ::grpc::Service::MarkMethodRaw(23); } ~WithRawMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -4657,7 +4791,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlush(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4666,7 +4800,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Compact() { - ::grpc::Service::MarkMethodRaw(23); + ::grpc::Service::MarkMethodRaw(24); } ~WithRawMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -4677,7 +4811,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCompact(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4686,7 +4820,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodRaw(24); + ::grpc::Service::MarkMethodRaw(25); } ~WithRawMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4697,7 +4831,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4706,7 +4840,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodRaw(25); + ::grpc::Service::MarkMethodRaw(26); } ~WithRawMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4717,7 +4851,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHasHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4726,7 +4860,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodRaw(26); + ::grpc::Service::MarkMethodRaw(27); } ~WithRawMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4737,7 +4871,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4746,7 +4880,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodRaw(27); + ::grpc::Service::MarkMethodRaw(28); } ~WithRawMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4757,7 +4891,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDescribeHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4766,7 +4900,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodRaw(28); + ::grpc::Service::MarkMethodRaw(29); } ~WithRawMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4777,7 +4911,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCountHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4786,7 +4920,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodRaw(29); + ::grpc::Service::MarkMethodRaw(30); } ~WithRawMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -4797,7 +4931,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollections(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4806,7 +4940,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodRaw(30); + ::grpc::Service::MarkMethodRaw(31); } ~WithRawMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -4817,7 +4951,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollectionInfo(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4826,7 +4960,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodRaw(31); + ::grpc::Service::MarkMethodRaw(32); } ~WithRawMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4837,7 +4971,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4846,7 +4980,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_InsertEntity() { - ::grpc::Service::MarkMethodRaw(32); + ::grpc::Service::MarkMethodRaw(33); } ~WithRawMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4857,7 +4991,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsertEntity(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4866,7 +5000,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HybridSearch() { - ::grpc::Service::MarkMethodRaw(33); + ::grpc::Service::MarkMethodRaw(34); } ~WithRawMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -4877,7 +5011,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearch(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4886,7 +5020,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodRaw(34); + ::grpc::Service::MarkMethodRaw(35); } ~WithRawMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -4897,7 +5031,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearchInSegments(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4906,7 +5040,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetEntityByID() { - ::grpc::Service::MarkMethodRaw(35); + ::grpc::Service::MarkMethodRaw(36); } ~WithRawMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -4917,7 +5051,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4926,7 +5060,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodRaw(36); + ::grpc::Service::MarkMethodRaw(37); } ~WithRawMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4937,7 +5071,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityIDs(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4946,7 +5080,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodRaw(37); + ::grpc::Service::MarkMethodRaw(38); } ~WithRawMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -4957,7 +5091,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteEntitiesByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -5236,12 +5370,37 @@ class MilvusService final { virtual void CreatePartition(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithRawCallbackMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_HasPartition() { + ::grpc::Service::experimental().MarkMethodRawCallback(11, + new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->HasPartition(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void HasPartition(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithRawCallbackMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowPartitions() { - ::grpc::Service::experimental().MarkMethodRawCallback(11, + ::grpc::Service::experimental().MarkMethodRawCallback(12, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5266,7 +5425,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DropPartition() { - ::grpc::Service::experimental().MarkMethodRawCallback(12, + ::grpc::Service::experimental().MarkMethodRawCallback(13, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5291,7 +5450,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Insert() { - ::grpc::Service::experimental().MarkMethodRawCallback(13, + ::grpc::Service::experimental().MarkMethodRawCallback(14, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5311,29 +5470,29 @@ class MilvusService final { virtual void Insert(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template - class ExperimentalWithRawCallbackMethod_GetVectorByID : public BaseClass { + class ExperimentalWithRawCallbackMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_GetVectorByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(14, + ExperimentalWithRawCallbackMethod_GetVectorsByID() { + ::grpc::Service::experimental().MarkMethodRawCallback(15, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { - this->GetVectorByID(context, request, response, controller); + this->GetVectorsByID(context, request, response, controller); })); } - ~ExperimentalWithRawCallbackMethod_GetVectorByID() override { + ~ExperimentalWithRawCallbackMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual void GetVectorByID(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + virtual void GetVectorsByID(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template class ExperimentalWithRawCallbackMethod_GetVectorIDs : public BaseClass { @@ -5341,7 +5500,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetVectorIDs() { - ::grpc::Service::experimental().MarkMethodRawCallback(15, + ::grpc::Service::experimental().MarkMethodRawCallback(16, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5366,7 +5525,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Search() { - ::grpc::Service::experimental().MarkMethodRawCallback(16, + ::grpc::Service::experimental().MarkMethodRawCallback(17, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5391,7 +5550,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_SearchByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(17, + ::grpc::Service::experimental().MarkMethodRawCallback(18, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5416,7 +5575,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_SearchInFiles() { - ::grpc::Service::experimental().MarkMethodRawCallback(18, + ::grpc::Service::experimental().MarkMethodRawCallback(19, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5441,7 +5600,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Cmd() { - ::grpc::Service::experimental().MarkMethodRawCallback(19, + ::grpc::Service::experimental().MarkMethodRawCallback(20, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5466,7 +5625,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DeleteByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(20, + ::grpc::Service::experimental().MarkMethodRawCallback(21, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5491,7 +5650,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_PreloadCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(21, + ::grpc::Service::experimental().MarkMethodRawCallback(22, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5516,7 +5675,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Flush() { - ::grpc::Service::experimental().MarkMethodRawCallback(22, + ::grpc::Service::experimental().MarkMethodRawCallback(23, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5541,7 +5700,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Compact() { - ::grpc::Service::experimental().MarkMethodRawCallback(23, + ::grpc::Service::experimental().MarkMethodRawCallback(24, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5566,7 +5725,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_CreateHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(24, + ::grpc::Service::experimental().MarkMethodRawCallback(25, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5591,7 +5750,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HasHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(25, + ::grpc::Service::experimental().MarkMethodRawCallback(26, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5616,7 +5775,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DropHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(26, + ::grpc::Service::experimental().MarkMethodRawCallback(27, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5641,7 +5800,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DescribeHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(27, + ::grpc::Service::experimental().MarkMethodRawCallback(28, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5666,7 +5825,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_CountHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(28, + ::grpc::Service::experimental().MarkMethodRawCallback(29, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5691,7 +5850,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowHybridCollections() { - ::grpc::Service::experimental().MarkMethodRawCallback(29, + ::grpc::Service::experimental().MarkMethodRawCallback(30, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5716,7 +5875,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowHybridCollectionInfo() { - ::grpc::Service::experimental().MarkMethodRawCallback(30, + ::grpc::Service::experimental().MarkMethodRawCallback(31, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5741,7 +5900,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_PreloadHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(31, + ::grpc::Service::experimental().MarkMethodRawCallback(32, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5766,7 +5925,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_InsertEntity() { - ::grpc::Service::experimental().MarkMethodRawCallback(32, + ::grpc::Service::experimental().MarkMethodRawCallback(33, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5791,7 +5950,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HybridSearch() { - ::grpc::Service::experimental().MarkMethodRawCallback(33, + ::grpc::Service::experimental().MarkMethodRawCallback(34, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5816,7 +5975,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HybridSearchInSegments() { - ::grpc::Service::experimental().MarkMethodRawCallback(34, + ::grpc::Service::experimental().MarkMethodRawCallback(35, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5841,7 +6000,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetEntityByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(35, + ::grpc::Service::experimental().MarkMethodRawCallback(36, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5866,7 +6025,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetEntityIDs() { - ::grpc::Service::experimental().MarkMethodRawCallback(36, + ::grpc::Service::experimental().MarkMethodRawCallback(37, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5891,7 +6050,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DeleteEntitiesByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(37, + ::grpc::Service::experimental().MarkMethodRawCallback(38, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -6131,12 +6290,32 @@ class MilvusService final { virtual ::grpc::Status StreamedCreatePartition(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::PartitionParam,::milvus::grpc::Status>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_HasPartition() { + ::grpc::Service::MarkMethodStreamed(11, + new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>(std::bind(&WithStreamedUnaryMethod_HasPartition::StreamedHasPartition, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedHasPartition(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::PartitionParam,::milvus::grpc::BoolReply>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowPartitions() { - ::grpc::Service::MarkMethodStreamed(11, + ::grpc::Service::MarkMethodStreamed(12, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>(std::bind(&WithStreamedUnaryMethod_ShowPartitions::StreamedShowPartitions, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowPartitions() override { @@ -6156,7 +6335,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DropPartition() { - ::grpc::Service::MarkMethodStreamed(12, + ::grpc::Service::MarkMethodStreamed(13, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DropPartition::StreamedDropPartition, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DropPartition() override { @@ -6176,7 +6355,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Insert() { - ::grpc::Service::MarkMethodStreamed(13, + ::grpc::Service::MarkMethodStreamed(14, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>(std::bind(&WithStreamedUnaryMethod_Insert::StreamedInsert, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Insert() override { @@ -6191,24 +6370,24 @@ class MilvusService final { virtual ::grpc::Status StreamedInsert(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::InsertParam,::milvus::grpc::VectorIds>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_GetVectorByID : public BaseClass { + class WithStreamedUnaryMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_GetVectorByID() { - ::grpc::Service::MarkMethodStreamed(14, - new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>(std::bind(&WithStreamedUnaryMethod_GetVectorByID::StreamedGetVectorByID, this, std::placeholders::_1, std::placeholders::_2))); + WithStreamedUnaryMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodStreamed(15, + new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>(std::bind(&WithStreamedUnaryMethod_GetVectorsByID::StreamedGetVectorsByID, this, std::placeholders::_1, std::placeholders::_2))); } - ~WithStreamedUnaryMethod_GetVectorByID() override { + ~WithStreamedUnaryMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status StreamedGetVectorByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::VectorIdentity,::milvus::grpc::VectorData>* server_unary_streamer) = 0; + virtual ::grpc::Status StreamedGetVectorsByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::VectorsIdentity,::milvus::grpc::VectorsData>* server_unary_streamer) = 0; }; template class WithStreamedUnaryMethod_GetVectorIDs : public BaseClass { @@ -6216,7 +6395,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodStreamed(15, + ::grpc::Service::MarkMethodStreamed(16, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>(std::bind(&WithStreamedUnaryMethod_GetVectorIDs::StreamedGetVectorIDs, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetVectorIDs() override { @@ -6236,7 +6415,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Search() { - ::grpc::Service::MarkMethodStreamed(16, + ::grpc::Service::MarkMethodStreamed(17, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_Search::StreamedSearch, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Search() override { @@ -6256,7 +6435,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SearchByID() { - ::grpc::Service::MarkMethodStreamed(17, + ::grpc::Service::MarkMethodStreamed(18, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_SearchByID::StreamedSearchByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_SearchByID() override { @@ -6276,7 +6455,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SearchInFiles() { - ::grpc::Service::MarkMethodStreamed(18, + ::grpc::Service::MarkMethodStreamed(19, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_SearchInFiles::StreamedSearchInFiles, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_SearchInFiles() override { @@ -6296,7 +6475,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Cmd() { - ::grpc::Service::MarkMethodStreamed(19, + ::grpc::Service::MarkMethodStreamed(20, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>(std::bind(&WithStreamedUnaryMethod_Cmd::StreamedCmd, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Cmd() override { @@ -6316,7 +6495,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DeleteByID() { - ::grpc::Service::MarkMethodStreamed(20, + ::grpc::Service::MarkMethodStreamed(21, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DeleteByID::StreamedDeleteByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DeleteByID() override { @@ -6336,7 +6515,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_PreloadCollection() { - ::grpc::Service::MarkMethodStreamed(21, + ::grpc::Service::MarkMethodStreamed(22, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_PreloadCollection::StreamedPreloadCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_PreloadCollection() override { @@ -6356,7 +6535,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Flush() { - ::grpc::Service::MarkMethodStreamed(22, + ::grpc::Service::MarkMethodStreamed(23, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_Flush::StreamedFlush, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Flush() override { @@ -6376,7 +6555,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Compact() { - ::grpc::Service::MarkMethodStreamed(23, + ::grpc::Service::MarkMethodStreamed(24, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_Compact::StreamedCompact, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Compact() override { @@ -6396,7 +6575,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodStreamed(24, + ::grpc::Service::MarkMethodStreamed(25, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_CreateHybridCollection::StreamedCreateHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_CreateHybridCollection() override { @@ -6416,7 +6595,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodStreamed(25, + ::grpc::Service::MarkMethodStreamed(26, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>(std::bind(&WithStreamedUnaryMethod_HasHybridCollection::StreamedHasHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HasHybridCollection() override { @@ -6436,7 +6615,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodStreamed(26, + ::grpc::Service::MarkMethodStreamed(27, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DropHybridCollection::StreamedDropHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DropHybridCollection() override { @@ -6456,7 +6635,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodStreamed(27, + ::grpc::Service::MarkMethodStreamed(28, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>(std::bind(&WithStreamedUnaryMethod_DescribeHybridCollection::StreamedDescribeHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DescribeHybridCollection() override { @@ -6476,7 +6655,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodStreamed(28, + ::grpc::Service::MarkMethodStreamed(29, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>(std::bind(&WithStreamedUnaryMethod_CountHybridCollection::StreamedCountHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_CountHybridCollection() override { @@ -6496,7 +6675,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodStreamed(29, + ::grpc::Service::MarkMethodStreamed(30, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>(std::bind(&WithStreamedUnaryMethod_ShowHybridCollections::StreamedShowHybridCollections, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowHybridCollections() override { @@ -6516,7 +6695,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodStreamed(30, + ::grpc::Service::MarkMethodStreamed(31, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>(std::bind(&WithStreamedUnaryMethod_ShowHybridCollectionInfo::StreamedShowHybridCollectionInfo, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowHybridCollectionInfo() override { @@ -6536,7 +6715,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodStreamed(31, + ::grpc::Service::MarkMethodStreamed(32, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_PreloadHybridCollection::StreamedPreloadHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_PreloadHybridCollection() override { @@ -6556,7 +6735,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_InsertEntity() { - ::grpc::Service::MarkMethodStreamed(32, + ::grpc::Service::MarkMethodStreamed(33, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>(std::bind(&WithStreamedUnaryMethod_InsertEntity::StreamedInsertEntity, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_InsertEntity() override { @@ -6576,7 +6755,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HybridSearch() { - ::grpc::Service::MarkMethodStreamed(33, + ::grpc::Service::MarkMethodStreamed(34, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_HybridSearch::StreamedHybridSearch, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HybridSearch() override { @@ -6596,7 +6775,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodStreamed(34, + ::grpc::Service::MarkMethodStreamed(35, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_HybridSearchInSegments::StreamedHybridSearchInSegments, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HybridSearchInSegments() override { @@ -6616,7 +6795,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetEntityByID() { - ::grpc::Service::MarkMethodStreamed(35, + ::grpc::Service::MarkMethodStreamed(36, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>(std::bind(&WithStreamedUnaryMethod_GetEntityByID::StreamedGetEntityByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetEntityByID() override { @@ -6636,7 +6815,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodStreamed(36, + ::grpc::Service::MarkMethodStreamed(37, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>(std::bind(&WithStreamedUnaryMethod_GetEntityIDs::StreamedGetEntityIDs, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetEntityIDs() override { @@ -6656,7 +6835,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodStreamed(37, + ::grpc::Service::MarkMethodStreamed(38, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DeleteEntitiesByID::StreamedDeleteEntitiesByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DeleteEntitiesByID() override { @@ -6670,9 +6849,9 @@ class MilvusService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedDeleteEntitiesByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::HDeleteByIDParam,::milvus::grpc::Status>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/core/src/grpc/gen-milvus/milvus.pb.cc b/core/src/grpc/gen-milvus/milvus.pb.cc index c9b59523fe..289aea93bf 100644 --- a/core/src/grpc/gen-milvus/milvus.pb.cc +++ b/core/src/grpc/gen-milvus/milvus.pb.cc @@ -24,11 +24,9 @@ extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HSearchParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Mapping_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_PartitionStat_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_RangeQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RowRecord_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_SearchParam_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentStat_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_status_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Status_status_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_TermQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorFieldParam_milvus_2eproto; @@ -116,26 +114,18 @@ class DeleteByIDParamDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; } _DeleteByIDParam_default_instance_; -class SegmentStatDefaultTypeInternal { - public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _SegmentStat_default_instance_; -class PartitionStatDefaultTypeInternal { - public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _PartitionStat_default_instance_; class CollectionInfoDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; } _CollectionInfo_default_instance_; -class VectorIdentityDefaultTypeInternal { +class VectorsIdentityDefaultTypeInternal { public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _VectorIdentity_default_instance_; -class VectorDataDefaultTypeInternal { + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VectorsIdentity_default_instance_; +class VectorsDataDefaultTypeInternal { public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _VectorData_default_instance_; + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VectorsData_default_instance_; class GetVectorIDsParamDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; @@ -314,10 +304,9 @@ static void InitDefaultsscc_info_CollectionInfo_milvus_2eproto() { ::milvus::grpc::CollectionInfo::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_CollectionInfo_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_CollectionInfo_milvus_2eproto}, { - &scc_info_Status_status_2eproto.base, - &scc_info_PartitionStat_milvus_2eproto.base,}}; +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionInfo_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_CollectionInfo_milvus_2eproto}, { + &scc_info_Status_status_2eproto.base,}}; static void InitDefaultsscc_info_CollectionName_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -754,21 +743,6 @@ static void InitDefaultsscc_info_PartitionParam_milvus_2eproto() { ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PartitionParam_milvus_2eproto = {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_PartitionParam_milvus_2eproto}, {}}; -static void InitDefaultsscc_info_PartitionStat_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_PartitionStat_default_instance_; - new (ptr) ::milvus::grpc::PartitionStat(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::PartitionStat::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_PartitionStat_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_PartitionStat_milvus_2eproto}, { - &scc_info_SegmentStat_milvus_2eproto.base,}}; - static void InitDefaultsscc_info_RangeQuery_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -845,20 +819,6 @@ static void InitDefaultsscc_info_SearchParam_milvus_2eproto() { &scc_info_RowRecord_milvus_2eproto.base, &scc_info_KeyValuePair_milvus_2eproto.base,}}; -static void InitDefaultsscc_info_SegmentStat_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_SegmentStat_default_instance_; - new (ptr) ::milvus::grpc::SegmentStat(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::SegmentStat::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentStat_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_SegmentStat_milvus_2eproto}, {}}; - static void InitDefaultsscc_info_StringReply_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -904,22 +864,6 @@ static void InitDefaultsscc_info_TopKQueryResult_milvus_2eproto() { {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_TopKQueryResult_milvus_2eproto}, { &scc_info_Status_status_2eproto.base,}}; -static void InitDefaultsscc_info_VectorData_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_VectorData_default_instance_; - new (ptr) ::milvus::grpc::VectorData(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::VectorData::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VectorData_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_VectorData_milvus_2eproto}, { - &scc_info_Status_status_2eproto.base, - &scc_info_RowRecord_milvus_2eproto.base,}}; - static void InitDefaultsscc_info_VectorFieldParam_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -949,20 +893,6 @@ static void InitDefaultsscc_info_VectorFieldValue_milvus_2eproto() { {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_VectorFieldValue_milvus_2eproto}, { &scc_info_RowRecord_milvus_2eproto.base,}}; -static void InitDefaultsscc_info_VectorIdentity_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_VectorIdentity_default_instance_; - new (ptr) ::milvus::grpc::VectorIdentity(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::VectorIdentity::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorIdentity_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_VectorIdentity_milvus_2eproto}, {}}; - static void InitDefaultsscc_info_VectorIds_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -994,7 +924,37 @@ static void InitDefaultsscc_info_VectorQuery_milvus_2eproto() { &scc_info_RowRecord_milvus_2eproto.base, &scc_info_KeyValuePair_milvus_2eproto.base,}}; -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[50]; +static void InitDefaultsscc_info_VectorsData_milvus_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::milvus::grpc::_VectorsData_default_instance_; + new (ptr) ::milvus::grpc::VectorsData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::milvus::grpc::VectorsData::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VectorsData_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_VectorsData_milvus_2eproto}, { + &scc_info_Status_status_2eproto.base, + &scc_info_RowRecord_milvus_2eproto.base,}}; + +static void InitDefaultsscc_info_VectorsIdentity_milvus_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::milvus::grpc::_VectorsIdentity_default_instance_; + new (ptr) ::milvus::grpc::VectorsIdentity(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::milvus::grpc::VectorsIdentity::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorsIdentity_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_VectorsIdentity_milvus_2eproto}, {}}; + +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[48]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_milvus_2eproto[3]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_milvus_2eproto = nullptr; @@ -1092,7 +1052,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, collection_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, partition_tag_array_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, id_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, id_array_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, topk_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, extra_params_), ~0u, // no _has_bits_ @@ -1154,44 +1114,26 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::grpc::DeleteByIDParam, collection_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::DeleteByIDParam, id_array_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, segment_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, index_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, data_size_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, tag_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, total_row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, segments_stat_), - ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, status_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, total_row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, partitions_stat_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, json_info_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, collection_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, id_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, collection_name_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, id_array_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, status_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, vector_data_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, status_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, vectors_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::GetVectorIDsParam, _internal_metadata_), ~0u, // no _extensions_ @@ -1422,36 +1364,34 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 132, -1, sizeof(::milvus::grpc::IndexParam)}, { 141, -1, sizeof(::milvus::grpc::FlushParam)}, { 147, -1, sizeof(::milvus::grpc::DeleteByIDParam)}, - { 154, -1, sizeof(::milvus::grpc::SegmentStat)}, - { 163, -1, sizeof(::milvus::grpc::PartitionStat)}, - { 171, -1, sizeof(::milvus::grpc::CollectionInfo)}, - { 179, -1, sizeof(::milvus::grpc::VectorIdentity)}, - { 186, -1, sizeof(::milvus::grpc::VectorData)}, - { 193, -1, sizeof(::milvus::grpc::GetVectorIDsParam)}, - { 200, -1, sizeof(::milvus::grpc::VectorFieldParam)}, - { 206, -1, sizeof(::milvus::grpc::FieldType)}, - { 214, -1, sizeof(::milvus::grpc::FieldParam)}, - { 223, -1, sizeof(::milvus::grpc::VectorFieldValue)}, - { 229, -1, sizeof(::milvus::grpc::FieldValue)}, - { 242, -1, sizeof(::milvus::grpc::Mapping)}, - { 251, -1, sizeof(::milvus::grpc::MappingList)}, - { 258, -1, sizeof(::milvus::grpc::TermQuery)}, - { 268, -1, sizeof(::milvus::grpc::CompareExpr)}, - { 275, -1, sizeof(::milvus::grpc::RangeQuery)}, - { 284, -1, sizeof(::milvus::grpc::VectorQuery)}, - { 294, -1, sizeof(::milvus::grpc::BooleanQuery)}, - { 301, -1, sizeof(::milvus::grpc::GeneralQuery)}, - { 311, -1, sizeof(::milvus::grpc::HSearchParam)}, - { 320, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, - { 327, -1, sizeof(::milvus::grpc::AttrRecord)}, - { 333, -1, sizeof(::milvus::grpc::HEntity)}, - { 344, -1, sizeof(::milvus::grpc::HQueryResult)}, - { 354, -1, sizeof(::milvus::grpc::HInsertParam)}, - { 364, -1, sizeof(::milvus::grpc::HEntityIdentity)}, - { 371, -1, sizeof(::milvus::grpc::HEntityIDs)}, - { 378, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, - { 385, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, - { 392, -1, sizeof(::milvus::grpc::HIndexParam)}, + { 154, -1, sizeof(::milvus::grpc::CollectionInfo)}, + { 161, -1, sizeof(::milvus::grpc::VectorsIdentity)}, + { 168, -1, sizeof(::milvus::grpc::VectorsData)}, + { 175, -1, sizeof(::milvus::grpc::GetVectorIDsParam)}, + { 182, -1, sizeof(::milvus::grpc::VectorFieldParam)}, + { 188, -1, sizeof(::milvus::grpc::FieldType)}, + { 196, -1, sizeof(::milvus::grpc::FieldParam)}, + { 205, -1, sizeof(::milvus::grpc::VectorFieldValue)}, + { 211, -1, sizeof(::milvus::grpc::FieldValue)}, + { 224, -1, sizeof(::milvus::grpc::Mapping)}, + { 233, -1, sizeof(::milvus::grpc::MappingList)}, + { 240, -1, sizeof(::milvus::grpc::TermQuery)}, + { 250, -1, sizeof(::milvus::grpc::CompareExpr)}, + { 257, -1, sizeof(::milvus::grpc::RangeQuery)}, + { 266, -1, sizeof(::milvus::grpc::VectorQuery)}, + { 276, -1, sizeof(::milvus::grpc::BooleanQuery)}, + { 283, -1, sizeof(::milvus::grpc::GeneralQuery)}, + { 293, -1, sizeof(::milvus::grpc::HSearchParam)}, + { 302, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, + { 309, -1, sizeof(::milvus::grpc::AttrRecord)}, + { 315, -1, sizeof(::milvus::grpc::HEntity)}, + { 326, -1, sizeof(::milvus::grpc::HQueryResult)}, + { 336, -1, sizeof(::milvus::grpc::HInsertParam)}, + { 346, -1, sizeof(::milvus::grpc::HEntityIdentity)}, + { 353, -1, sizeof(::milvus::grpc::HEntityIDs)}, + { 360, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, + { 367, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, + { 374, -1, sizeof(::milvus::grpc::HIndexParam)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -1475,11 +1415,9 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::milvus::grpc::_IndexParam_default_instance_), reinterpret_cast(&::milvus::grpc::_FlushParam_default_instance_), reinterpret_cast(&::milvus::grpc::_DeleteByIDParam_default_instance_), - reinterpret_cast(&::milvus::grpc::_SegmentStat_default_instance_), - reinterpret_cast(&::milvus::grpc::_PartitionStat_default_instance_), reinterpret_cast(&::milvus::grpc::_CollectionInfo_default_instance_), - reinterpret_cast(&::milvus::grpc::_VectorIdentity_default_instance_), - reinterpret_cast(&::milvus::grpc::_VectorData_default_instance_), + reinterpret_cast(&::milvus::grpc::_VectorsIdentity_default_instance_), + reinterpret_cast(&::milvus::grpc::_VectorsData_default_instance_), reinterpret_cast(&::milvus::grpc::_GetVectorIDsParam_default_instance_), reinterpret_cast(&::milvus::grpc::_VectorFieldParam_default_instance_), reinterpret_cast(&::milvus::grpc::_FieldType_default_instance_), @@ -1536,194 +1474,189 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.KeyV" "aluePair\"[\n\022SearchInFilesParam\022\025\n\rfile_i" "d_array\030\001 \003(\t\022.\n\014search_param\030\002 \001(\0132\030.mi" - "lvus.grpc.SearchParam\"\222\001\n\017SearchByIDPara" + "lvus.grpc.SearchParam\"\230\001\n\017SearchByIDPara" "m\022\027\n\017collection_name\030\001 \001(\t\022\033\n\023partition_" - "tag_array\030\002 \003(\t\022\n\n\002id\030\003 \001(\003\022\014\n\004topk\030\004 \001(" - "\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.Ke" - "yValuePair\"g\n\017TopKQueryResult\022#\n\006status\030" - "\001 \001(\0132\023.milvus.grpc.Status\022\017\n\007row_num\030\002 " - "\001(\003\022\013\n\003ids\030\003 \003(\003\022\021\n\tdistances\030\004 \003(\002\"H\n\013S" - "tringReply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc" - ".Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tBoolRep" - "ly\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022" - "\022\n\nbool_reply\030\002 \001(\010\"W\n\022CollectionRowCoun" - "t\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\034" - "\n\024collection_row_count\030\002 \001(\003\"\026\n\007Command\022" - "\013\n\003cmd\030\001 \001(\t\"\217\001\n\nIndexParam\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022\027\n\017collection_n" - "ame\030\002 \001(\t\022\022\n\nindex_type\030\003 \001(\005\022/\n\014extra_p" - "arams\030\004 \003(\0132\031.milvus.grpc.KeyValuePair\"+" - "\n\nFlushParam\022\035\n\025collection_name_array\030\001 " - "\003(\t\"<\n\017DeleteByIDParam\022\027\n\017collection_nam" - "e\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"]\n\013SegmentStat" - "\022\024\n\014segment_name\030\001 \001(\t\022\021\n\trow_count\030\002 \001(" - "\003\022\022\n\nindex_name\030\003 \001(\t\022\021\n\tdata_size\030\004 \001(\003" - "\"f\n\rPartitionStat\022\013\n\003tag\030\001 \001(\t\022\027\n\017total_" - "row_count\030\002 \001(\003\022/\n\rsegments_stat\030\003 \003(\0132\030" - ".milvus.grpc.SegmentStat\"\203\001\n\016CollectionI" - "nfo\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" - "\022\027\n\017total_row_count\030\002 \001(\003\0223\n\017partitions_" - "stat\030\003 \003(\0132\032.milvus.grpc.PartitionStat\"5" - "\n\016VectorIdentity\022\027\n\017collection_name\030\001 \001(" - "\t\022\n\n\002id\030\002 \001(\003\"^\n\nVectorData\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022+\n\013vector_data\030" - "\002 \001(\0132\026.milvus.grpc.RowRecord\"B\n\021GetVect" - "orIDsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014s" - "egment_name\030\002 \001(\t\"%\n\020VectorFieldParam\022\021\n" - "\tdimension\030\001 \001(\003\"w\n\tFieldType\022*\n\tdata_ty" - "pe\030\001 \001(\0162\025.milvus.grpc.DataTypeH\000\0225\n\014vec" - "tor_param\030\002 \001(\0132\035.milvus.grpc.VectorFiel" - "dParamH\000B\007\n\005value\"}\n\nFieldParam\022\n\n\002id\030\001 " - "\001(\004\022\014\n\004name\030\002 \001(\t\022$\n\004type\030\003 \001(\0132\026.milvus" - ".grpc.FieldType\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair\"9\n\020VectorFieldV" - "alue\022%\n\005value\030\001 \003(\0132\026.milvus.grpc.RowRec" - "ord\"\327\001\n\nFieldValue\022\025\n\013int32_value\030\001 \001(\005H" - "\000\022\025\n\013int64_value\030\002 \001(\003H\000\022\025\n\013float_value\030" - "\003 \001(\002H\000\022\026\n\014double_value\030\004 \001(\001H\000\022\026\n\014strin" - "g_value\030\005 \001(\tH\000\022\024\n\nbool_value\030\006 \001(\010H\000\0225\n" - "\014vector_value\030\007 \001(\0132\035.milvus.grpc.Vector" - "FieldValueH\000B\007\n\005value\"\207\001\n\007Mapping\022#\n\006sta" - "tus\030\001 \001(\0132\023.milvus.grpc.Status\022\025\n\rcollec" - "tion_id\030\002 \001(\004\022\027\n\017collection_name\030\003 \001(\t\022\'" - "\n\006fields\030\004 \003(\0132\027.milvus.grpc.FieldParam\"" - "^\n\013MappingList\022#\n\006status\030\001 \001(\0132\023.milvus." - "grpc.Status\022*\n\014mapping_list\030\002 \003(\0132\024.milv" - "us.grpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_n" - "ame\030\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003" - " \001(\003\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(" - "\0132\031.milvus.grpc.KeyValuePair\"N\n\013CompareE" - "xpr\022.\n\010operator\030\001 \001(\0162\034.milvus.grpc.Comp" - "areOperator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQu" - "ery\022\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\013" - "2\030.milvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(" - "\002\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.Ke" - "yValuePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name" - "\030\001 \001(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003" - " \003(\0132\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001" - "(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.K" - "eyValuePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001" - "(\0162\022.milvus.grpc.Occur\0220\n\rgeneral_query\030" - "\002 \003(\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014Gen" - "eralQuery\0222\n\rboolean_query\030\001 \001(\0132\031.milvu" - "s.grpc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(" - "\0132\026.milvus.grpc.TermQueryH\000\022.\n\013range_que" - "ry\030\003 \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014v" - "ector_query\030\004 \001(\0132\030.milvus.grpc.VectorQu" - "eryH\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017colle" - "ction_name\030\001 \001(\t\022\033\n\023partition_tag_array\030" - "\002 \003(\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.gr" - "pc.GeneralQuery\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair\"c\n\026HSearchInSeg" - "mentsParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014" - "search_param\030\002 \001(\0132\031.milvus.grpc.HSearch" - "Param\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007H" - "Entity\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Sta" - "tus\022\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 " - "\003(\t\022\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001" - "(\003\022.\n\rresult_values\030\006 \003(\0132\027.milvus.grpc." - "FieldValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022&\n\010entities\030\002 \003" - "(\0132\024.milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(" - "\003\022\r\n\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014H" - "InsertParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\r" - "partition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024." - "milvus.grpc.HEntity\022\027\n\017entity_id_array\030\004" - " \003(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc" - ".KeyValuePair\"6\n\017HEntityIdentity\022\027\n\017coll" - "ection_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntity" - "IDs\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" - "\022\027\n\017entity_id_array\030\002 \003(\003\"C\n\022HGetEntityI" - "DsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segm" - "ent_name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017co" - "llection_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001" - "\n\013HIndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.g" - "rpc.Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\ni" - "ndex_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n" - "\004NULL\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022" - "\t\n\005INT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOA" - "T\020(\022\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217" - "N*C\n\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n" - "\002EQ\020\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022" - "\013\n\007INVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MU" - "ST_NOT\020\0032\212\026\n\rMilvusService\022H\n\020CreateColl" - "ection\022\035.milvus.grpc.CollectionSchema\032\023." - "milvus.grpc.Status\"\000\022F\n\rHasCollection\022\033." - "milvus.grpc.CollectionName\032\026.milvus.grpc" - ".BoolReply\"\000\022R\n\022DescribeCollection\022\033.mil" - "vus.grpc.CollectionName\032\035.milvus.grpc.Co" - "llectionSchema\"\000\022Q\n\017CountCollection\022\033.mi" - "lvus.grpc.CollectionName\032\037.milvus.grpc.C" - "ollectionRowCount\"\000\022J\n\017ShowCollections\022\024" - ".milvus.grpc.Command\032\037.milvus.grpc.Colle" - "ctionNameList\"\000\022P\n\022ShowCollectionInfo\022\033." - "milvus.grpc.CollectionName\032\033.milvus.grpc" - ".CollectionInfo\"\000\022D\n\016DropCollection\022\033.mi" + "tag_array\030\002 \003(\t\022\020\n\010id_array\030\003 \003(\003\022\014\n\004top" + "k\030\004 \001(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.g" + "rpc.KeyValuePair\"g\n\017TopKQueryResult\022#\n\006s" + "tatus\030\001 \001(\0132\023.milvus.grpc.Status\022\017\n\007row_" + "num\030\002 \001(\003\022\013\n\003ids\030\003 \003(\003\022\021\n\tdistances\030\004 \003(" + "\002\"H\n\013StringReply\022#\n\006status\030\001 \001(\0132\023.milvu" + "s.grpc.Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tB" + "oolReply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.S" + "tatus\022\022\n\nbool_reply\030\002 \001(\010\"W\n\022CollectionR" + "owCount\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.St" + "atus\022\034\n\024collection_row_count\030\002 \001(\003\"\026\n\007Co" + "mmand\022\013\n\003cmd\030\001 \001(\t\"\217\001\n\nIndexParam\022#\n\006sta" + "tus\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017collec" + "tion_name\030\002 \001(\t\022\022\n\nindex_type\030\003 \001(\005\022/\n\014e" + "xtra_params\030\004 \003(\0132\031.milvus.grpc.KeyValue" + "Pair\"+\n\nFlushParam\022\035\n\025collection_name_ar" + "ray\030\001 \003(\t\"<\n\017DeleteByIDParam\022\027\n\017collecti" + "on_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"H\n\016Colle" + "ctionInfo\022#\n\006status\030\001 \001(\0132\023.milvus.grpc." + "Status\022\021\n\tjson_info\030\002 \001(\t\"<\n\017VectorsIden" + "tity\022\027\n\017collection_name\030\001 \001(\t\022\020\n\010id_arra" + "y\030\002 \003(\003\"`\n\013VectorsData\022#\n\006status\030\001 \001(\0132\023" + ".milvus.grpc.Status\022,\n\014vectors_data\030\002 \003(" + "\0132\026.milvus.grpc.RowRecord\"B\n\021GetVectorID" + "sParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segme" + "nt_name\030\002 \001(\t\"%\n\020VectorFieldParam\022\021\n\tdim" + "ension\030\001 \001(\003\"w\n\tFieldType\022*\n\tdata_type\030\001" + " \001(\0162\025.milvus.grpc.DataTypeH\000\0225\n\014vector_" + "param\030\002 \001(\0132\035.milvus.grpc.VectorFieldPar" + "amH\000B\007\n\005value\"}\n\nFieldParam\022\n\n\002id\030\001 \001(\004\022" + "\014\n\004name\030\002 \001(\t\022$\n\004type\030\003 \001(\0132\026.milvus.grp" + "c.FieldType\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair\"9\n\020VectorFieldValue" + "\022%\n\005value\030\001 \003(\0132\026.milvus.grpc.RowRecord\"" + "\327\001\n\nFieldValue\022\025\n\013int32_value\030\001 \001(\005H\000\022\025\n" + "\013int64_value\030\002 \001(\003H\000\022\025\n\013float_value\030\003 \001(" + "\002H\000\022\026\n\014double_value\030\004 \001(\001H\000\022\026\n\014string_va" + "lue\030\005 \001(\tH\000\022\024\n\nbool_value\030\006 \001(\010H\000\0225\n\014vec" + "tor_value\030\007 \001(\0132\035.milvus.grpc.VectorFiel" + "dValueH\000B\007\n\005value\"\207\001\n\007Mapping\022#\n\006status\030" + "\001 \001(\0132\023.milvus.grpc.Status\022\025\n\rcollection" + "_id\030\002 \001(\004\022\027\n\017collection_name\030\003 \001(\t\022\'\n\006fi" + "elds\030\004 \003(\0132\027.milvus.grpc.FieldParam\"^\n\013M" + "appingList\022#\n\006status\030\001 \001(\0132\023.milvus.grpc" + ".Status\022*\n\014mapping_list\030\002 \003(\0132\024.milvus.g" + "rpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_name\030" + "\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003 \001(\003" + "\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(\0132\031." + "milvus.grpc.KeyValuePair\"N\n\013CompareExpr\022" + ".\n\010operator\030\001 \001(\0162\034.milvus.grpc.CompareO" + "perator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQuery\022" + "\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\0132\030.m" + "ilvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(\002\022/\n" + "\014extra_params\030\004 \003(\0132\031.milvus.grpc.KeyVal" + "uePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name\030\001 \001" + "(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003 \003(\013" + "2\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001(\003\022/" + "\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.KeyVa" + "luePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001(\0162\022" + ".milvus.grpc.Occur\0220\n\rgeneral_query\030\002 \003(" + "\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014General" + "Query\0222\n\rboolean_query\030\001 \001(\0132\031.milvus.gr" + "pc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(\0132\026." + "milvus.grpc.TermQueryH\000\022.\n\013range_query\030\003" + " \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014vecto" + "r_query\030\004 \001(\0132\030.milvus.grpc.VectorQueryH" + "\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017collectio" + "n_name\030\001 \001(\t\022\033\n\023partition_tag_array\030\002 \003(" + "\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.grpc.G" + "eneralQuery\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair\"c\n\026HSearchInSegment" + "sParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014sear" + "ch_param\030\002 \001(\0132\031.milvus.grpc.HSearchPara" + "m\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007HEnti" + "ty\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022" + "\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 \003(\t\022" + "\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001(\003\022." + "\n\rresult_values\030\006 \003(\0132\027.milvus.grpc.Fiel" + "dValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 \001(\0132" + "\023.milvus.grpc.Status\022&\n\010entities\030\002 \003(\0132\024" + ".milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(\003\022\r\n" + "\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014HInse" + "rtParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\rpart" + "ition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024.milv" + "us.grpc.HEntity\022\027\n\017entity_id_array\030\004 \003(\003" + "\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.Key" + "ValuePair\"6\n\017HEntityIdentity\022\027\n\017collecti" + "on_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntityIDs\022" + "#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017" + "entity_id_array\030\002 \003(\003\"C\n\022HGetEntityIDsPa" + "ram\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segment_" + "name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017collec" + "tion_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001\n\013HI" + "ndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.grpc." + "Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\nindex" + "_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n\004NUL" + "L\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005I" + "NT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOAT\020(\022" + "\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217N*C\n" + "\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n\002EQ\020" + "\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022\013\n\007I" + "NVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MUST_N" + "OT\020\0032\324\026\n\rMilvusService\022H\n\020CreateCollecti" + "on\022\035.milvus.grpc.CollectionSchema\032\023.milv" + "us.grpc.Status\"\000\022F\n\rHasCollection\022\033.milv" + "us.grpc.CollectionName\032\026.milvus.grpc.Boo" + "lReply\"\000\022R\n\022DescribeCollection\022\033.milvus." + "grpc.CollectionName\032\035.milvus.grpc.Collec" + "tionSchema\"\000\022Q\n\017CountCollection\022\033.milvus" + ".grpc.CollectionName\032\037.milvus.grpc.Colle" + "ctionRowCount\"\000\022J\n\017ShowCollections\022\024.mil" + "vus.grpc.Command\032\037.milvus.grpc.Collectio" + "nNameList\"\000\022P\n\022ShowCollectionInfo\022\033.milv" + "us.grpc.CollectionName\032\033.milvus.grpc.Col" + "lectionInfo\"\000\022D\n\016DropCollection\022\033.milvus" + ".grpc.CollectionName\032\023.milvus.grpc.Statu" + "s\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.IndexPa" + "ram\032\023.milvus.grpc.Status\"\000\022G\n\rDescribeIn" + "dex\022\033.milvus.grpc.CollectionName\032\027.milvu" + "s.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.milvu" + "s.grpc.CollectionName\032\023.milvus.grpc.Stat" + "us\"\000\022E\n\017CreatePartition\022\033.milvus.grpc.Pa" + "rtitionParam\032\023.milvus.grpc.Status\"\000\022E\n\014H" + "asPartition\022\033.milvus.grpc.PartitionParam" + "\032\026.milvus.grpc.BoolReply\"\000\022K\n\016ShowPartit" + "ions\022\033.milvus.grpc.CollectionName\032\032.milv" + "us.grpc.PartitionList\"\000\022C\n\rDropPartition" + "\022\033.milvus.grpc.PartitionParam\032\023.milvus.g" + "rpc.Status\"\000\022<\n\006Insert\022\030.milvus.grpc.Ins" + "ertParam\032\026.milvus.grpc.VectorIds\"\000\022J\n\016Ge" + "tVectorsByID\022\034.milvus.grpc.VectorsIdenti" + "ty\032\030.milvus.grpc.VectorsData\"\000\022H\n\014GetVec" + "torIDs\022\036.milvus.grpc.GetVectorIDsParam\032\026" + ".milvus.grpc.VectorIds\"\000\022B\n\006Search\022\030.mil" + "vus.grpc.SearchParam\032\034.milvus.grpc.TopKQ" + "ueryResult\"\000\022J\n\nSearchByID\022\034.milvus.grpc" + ".SearchByIDParam\032\034.milvus.grpc.TopKQuery" + "Result\"\000\022P\n\rSearchInFiles\022\037.milvus.grpc." + "SearchInFilesParam\032\034.milvus.grpc.TopKQue" + "ryResult\"\000\0227\n\003Cmd\022\024.milvus.grpc.Command\032" + "\030.milvus.grpc.StringReply\"\000\022A\n\nDeleteByI" + "D\022\034.milvus.grpc.DeleteByIDParam\032\023.milvus" + ".grpc.Status\"\000\022G\n\021PreloadCollection\022\033.mi" "lvus.grpc.CollectionName\032\023.milvus.grpc.S" - "tatus\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.Ind" - "exParam\032\023.milvus.grpc.Status\"\000\022G\n\rDescri" - "beIndex\022\033.milvus.grpc.CollectionName\032\027.m" - "ilvus.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.m" - "ilvus.grpc.CollectionName\032\023.milvus.grpc." - "Status\"\000\022E\n\017CreatePartition\022\033.milvus.grp" - "c.PartitionParam\032\023.milvus.grpc.Status\"\000\022" - "K\n\016ShowPartitions\022\033.milvus.grpc.Collecti" - "onName\032\032.milvus.grpc.PartitionList\"\000\022C\n\r" - "DropPartition\022\033.milvus.grpc.PartitionPar" - "am\032\023.milvus.grpc.Status\"\000\022<\n\006Insert\022\030.mi" - "lvus.grpc.InsertParam\032\026.milvus.grpc.Vect" - "orIds\"\000\022G\n\rGetVectorByID\022\033.milvus.grpc.V" - "ectorIdentity\032\027.milvus.grpc.VectorData\"\000" - "\022H\n\014GetVectorIDs\022\036.milvus.grpc.GetVector" - "IDsParam\032\026.milvus.grpc.VectorIds\"\000\022B\n\006Se" - "arch\022\030.milvus.grpc.SearchParam\032\034.milvus." - "grpc.TopKQueryResult\"\000\022J\n\nSearchByID\022\034.m" - "ilvus.grpc.SearchByIDParam\032\034.milvus.grpc" - ".TopKQueryResult\"\000\022P\n\rSearchInFiles\022\037.mi" - "lvus.grpc.SearchInFilesParam\032\034.milvus.gr" - "pc.TopKQueryResult\"\000\0227\n\003Cmd\022\024.milvus.grp" - "c.Command\032\030.milvus.grpc.StringReply\"\000\022A\n" - "\nDeleteByID\022\034.milvus.grpc.DeleteByIDPara" - "m\032\023.milvus.grpc.Status\"\000\022G\n\021PreloadColle" - "ction\022\033.milvus.grpc.CollectionName\032\023.mil" - "vus.grpc.Status\"\000\0227\n\005Flush\022\027.milvus.grpc" - ".FlushParam\032\023.milvus.grpc.Status\"\000\022=\n\007Co" - "mpact\022\033.milvus.grpc.CollectionName\032\023.mil" - "vus.grpc.Status\"\000\022E\n\026CreateHybridCollect" - "ion\022\024.milvus.grpc.Mapping\032\023.milvus.grpc." - "Status\"\000\022L\n\023HasHybridCollection\022\033.milvus" - ".grpc.CollectionName\032\026.milvus.grpc.BoolR" - "eply\"\000\022J\n\024DropHybridCollection\022\033.milvus." - "grpc.CollectionName\032\023.milvus.grpc.Status" - "\"\000\022O\n\030DescribeHybridCollection\022\033.milvus." - "grpc.CollectionName\032\024.milvus.grpc.Mappin" - "g\"\000\022W\n\025CountHybridCollection\022\033.milvus.gr" - "pc.CollectionName\032\037.milvus.grpc.Collecti" - "onRowCount\"\000\022I\n\025ShowHybridCollections\022\024." - "milvus.grpc.Command\032\030.milvus.grpc.Mappin" - "gList\"\000\022V\n\030ShowHybridCollectionInfo\022\033.mi" - "lvus.grpc.CollectionName\032\033.milvus.grpc.C" - "ollectionInfo\"\000\022M\n\027PreloadHybridCollecti" - "on\022\033.milvus.grpc.CollectionName\032\023.milvus" - ".grpc.Status\"\000\022D\n\014InsertEntity\022\031.milvus." - "grpc.HInsertParam\032\027.milvus.grpc.HEntityI" - "Ds\"\000\022I\n\014HybridSearch\022\031.milvus.grpc.HSear" - "chParam\032\034.milvus.grpc.TopKQueryResult\"\000\022" - "]\n\026HybridSearchInSegments\022#.milvus.grpc." - "HSearchInSegmentsParam\032\034.milvus.grpc.Top" - "KQueryResult\"\000\022E\n\rGetEntityByID\022\034.milvus" - ".grpc.HEntityIdentity\032\024.milvus.grpc.HEnt" - "ity\"\000\022J\n\014GetEntityIDs\022\037.milvus.grpc.HGet" - "EntityIDsParam\032\027.milvus.grpc.HEntityIDs\"" - "\000\022J\n\022DeleteEntitiesByID\022\035.milvus.grpc.HD" - "eleteByIDParam\032\023.milvus.grpc.Status\"\000b\006p" - "roto3" + "tatus\"\000\0227\n\005Flush\022\027.milvus.grpc.FlushPara" + "m\032\023.milvus.grpc.Status\"\000\022=\n\007Compact\022\033.mi" + "lvus.grpc.CollectionName\032\023.milvus.grpc.S" + "tatus\"\000\022E\n\026CreateHybridCollection\022\024.milv" + "us.grpc.Mapping\032\023.milvus.grpc.Status\"\000\022L" + "\n\023HasHybridCollection\022\033.milvus.grpc.Coll" + "ectionName\032\026.milvus.grpc.BoolReply\"\000\022J\n\024" + "DropHybridCollection\022\033.milvus.grpc.Colle" + "ctionName\032\023.milvus.grpc.Status\"\000\022O\n\030Desc" + "ribeHybridCollection\022\033.milvus.grpc.Colle" + "ctionName\032\024.milvus.grpc.Mapping\"\000\022W\n\025Cou" + "ntHybridCollection\022\033.milvus.grpc.Collect" + "ionName\032\037.milvus.grpc.CollectionRowCount" + "\"\000\022I\n\025ShowHybridCollections\022\024.milvus.grp" + "c.Command\032\030.milvus.grpc.MappingList\"\000\022V\n" + "\030ShowHybridCollectionInfo\022\033.milvus.grpc." + "CollectionName\032\033.milvus.grpc.CollectionI" + "nfo\"\000\022M\n\027PreloadHybridCollection\022\033.milvu" + "s.grpc.CollectionName\032\023.milvus.grpc.Stat" + "us\"\000\022D\n\014InsertEntity\022\031.milvus.grpc.HInse" + "rtParam\032\027.milvus.grpc.HEntityIDs\"\000\022I\n\014Hy" + "bridSearch\022\031.milvus.grpc.HSearchParam\032\034." + "milvus.grpc.TopKQueryResult\"\000\022]\n\026HybridS" + "earchInSegments\022#.milvus.grpc.HSearchInS" + "egmentsParam\032\034.milvus.grpc.TopKQueryResu" + "lt\"\000\022E\n\rGetEntityByID\022\034.milvus.grpc.HEnt" + "ityIdentity\032\024.milvus.grpc.HEntity\"\000\022J\n\014G" + "etEntityIDs\022\037.milvus.grpc.HGetEntityIDsP" + "aram\032\027.milvus.grpc.HEntityIDs\"\000\022J\n\022Delet" + "eEntitiesByID\022\035.milvus.grpc.HDeleteByIDP" + "aram\032\023.milvus.grpc.Status\"\000b\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = { &::descriptor_table_status_2eproto, }; -static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[49] = { +static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[47] = { &scc_info_AttrRecord_milvus_2eproto.base, &scc_info_BoolReply_milvus_2eproto.base, &scc_info_BooleanQuery_milvus_2eproto.base, @@ -1757,30 +1690,28 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil &scc_info_MappingList_milvus_2eproto.base, &scc_info_PartitionList_milvus_2eproto.base, &scc_info_PartitionParam_milvus_2eproto.base, - &scc_info_PartitionStat_milvus_2eproto.base, &scc_info_RangeQuery_milvus_2eproto.base, &scc_info_RowRecord_milvus_2eproto.base, &scc_info_SearchByIDParam_milvus_2eproto.base, &scc_info_SearchInFilesParam_milvus_2eproto.base, &scc_info_SearchParam_milvus_2eproto.base, - &scc_info_SegmentStat_milvus_2eproto.base, &scc_info_StringReply_milvus_2eproto.base, &scc_info_TermQuery_milvus_2eproto.base, &scc_info_TopKQueryResult_milvus_2eproto.base, - &scc_info_VectorData_milvus_2eproto.base, &scc_info_VectorFieldParam_milvus_2eproto.base, &scc_info_VectorFieldValue_milvus_2eproto.base, - &scc_info_VectorIdentity_milvus_2eproto.base, &scc_info_VectorIds_milvus_2eproto.base, &scc_info_VectorQuery_milvus_2eproto.base, + &scc_info_VectorsData_milvus_2eproto.base, + &scc_info_VectorsIdentity_milvus_2eproto.base, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8405, - &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 49, 1, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8235, + &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 47, 1, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, - file_level_metadata_milvus_2eproto, 50, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, + file_level_metadata_milvus_2eproto, 48, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, }; // Force running AddDescriptors() at dynamic initialization time. @@ -5965,24 +5896,21 @@ SearchByIDParam::SearchByIDParam(const SearchByIDParam& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), partition_tag_array_(from.partition_tag_array_), + id_array_(from.id_array_), extra_params_(from.extra_params_) { _internal_metadata_.MergeFrom(from._internal_metadata_); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.collection_name().empty()) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - ::memcpy(&id_, &from.id_, - static_cast(reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = from.topk_; // @@protoc_insertion_point(copy_constructor:milvus.grpc.SearchByIDParam) } void SearchByIDParam::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SearchByIDParam_milvus_2eproto.base); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&id_, 0, static_cast( - reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = PROTOBUF_LONGLONG(0); } SearchByIDParam::~SearchByIDParam() { @@ -6010,11 +5938,10 @@ void SearchByIDParam::Clear() { (void) cached_has_bits; partition_tag_array_.Clear(); + id_array_.Clear(); extra_params_.Clear(); collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&id_, 0, static_cast( - reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } @@ -6045,10 +5972,13 @@ const char* SearchByIDParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPAC } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } else goto handle_unusual; continue; - // int64 id = 3; + // repeated int64 id_array = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_id_array(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) { + add_id_array(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; @@ -6132,13 +6062,16 @@ bool SearchByIDParam::MergePartialFromCodedStream( break; } - // int64 id = 3; + // repeated int64 id_array = 3; case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &id_))); + input, this->mutable_id_array()))); + } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + 1, 26u, input, this->mutable_id_array()))); } else { goto handle_unusual; } @@ -6216,9 +6149,15 @@ void SearchByIDParam::SerializeWithCachedSizes( 2, this->partition_tag_array(i), output); } - // int64 id = 3; - if (this->id() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(3, this->id(), output); + // repeated int64 id_array = 3; + if (this->id_array_size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(3, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_id_array_cached_byte_size_.load( + std::memory_order_relaxed)); + } + for (int i = 0, n = this->id_array_size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( + this->id_array(i), output); } // int64 topk = 4; @@ -6269,9 +6208,17 @@ void SearchByIDParam::SerializeWithCachedSizes( WriteStringToArray(2, this->partition_tag_array(i), target); } - // int64 id = 3; - if (this->id() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->id(), target); + // repeated int64 id_array = 3; + if (this->id_array_size() > 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( + 3, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( + _id_array_cached_byte_size_.load(std::memory_order_relaxed), + target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + WriteInt64NoTagToArray(this->id_array_, target); } // int64 topk = 4; @@ -6316,6 +6263,21 @@ size_t SearchByIDParam::ByteSizeLong() const { this->partition_tag_array(i)); } + // repeated int64 id_array = 3; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + Int64Size(this->id_array_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _id_array_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // repeated .milvus.grpc.KeyValuePair extra_params = 5; { unsigned int count = static_cast(this->extra_params_size()); @@ -6334,13 +6296,6 @@ size_t SearchByIDParam::ByteSizeLong() const { this->collection_name()); } - // int64 id = 3; - if (this->id() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->id()); - } - // int64 topk = 4; if (this->topk() != 0) { total_size += 1 + @@ -6376,14 +6331,12 @@ void SearchByIDParam::MergeFrom(const SearchByIDParam& from) { (void) cached_has_bits; partition_tag_array_.MergeFrom(from.partition_tag_array_); + id_array_.MergeFrom(from.id_array_); extra_params_.MergeFrom(from.extra_params_); if (from.collection_name().size() > 0) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - if (from.id() != 0) { - set_id(from.id()); - } if (from.topk() != 0) { set_topk(from.topk()); } @@ -6411,10 +6364,10 @@ void SearchByIDParam::InternalSwap(SearchByIDParam* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); partition_tag_array_.InternalSwap(CastToBase(&other->partition_tag_array_)); + id_array_.InternalSwap(&other->id_array_); CastToBase(&extra_params_)->InternalSwap(CastToBase(&other->extra_params_)); collection_name_.Swap(&other->collection_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(id_, other->id_); swap(topk_, other->topk_); } @@ -9151,797 +9104,6 @@ void DeleteByIDParam::InternalSwap(DeleteByIDParam* other) { } -// =================================================================== - -void SegmentStat::InitAsDefaultInstance() { -} -class SegmentStat::_Internal { - public: -}; - -SegmentStat::SegmentStat() - : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { - SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.SegmentStat) -} -SegmentStat::SegmentStat(const SegmentStat& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - segment_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.segment_name().empty()) { - segment_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.segment_name_); - } - index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.index_name().empty()) { - index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_); - } - ::memcpy(&row_count_, &from.row_count_, - static_cast(reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); - // @@protoc_insertion_point(copy_constructor:milvus.grpc.SegmentStat) -} - -void SegmentStat::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SegmentStat_milvus_2eproto.base); - segment_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&row_count_, 0, static_cast( - reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); -} - -SegmentStat::~SegmentStat() { - // @@protoc_insertion_point(destructor:milvus.grpc.SegmentStat) - SharedDtor(); -} - -void SegmentStat::SharedDtor() { - segment_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void SegmentStat::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const SegmentStat& SegmentStat::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_SegmentStat_milvus_2eproto.base); - return *internal_default_instance(); -} - - -void SegmentStat::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - segment_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&row_count_, 0, static_cast( - reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); - _internal_metadata_.Clear(); -} - -#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* SegmentStat::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - CHK_(ptr); - switch (tag >> 3) { - // string segment_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_segment_name(), ptr, ctx, "milvus.grpc.SegmentStat.segment_name"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 row_count = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // string index_name = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_index_name(), ptr, ctx, "milvus.grpc.SegmentStat.index_name"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 data_size = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { - data_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - default: { - handle_unusual: - if ((tag & 7) == 4 || tag == 0) { - ctx->SetLastTag(tag); - goto success; - } - ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); - CHK_(ptr != nullptr); - continue; - } - } // switch - } // while -success: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} -#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool SegmentStat::MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.SegmentStat) - for (;;) { - ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string segment_name = 1; - case 1: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_segment_name())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.SegmentStat.segment_name")); - } else { - goto handle_unusual; - } - break; - } - - // int64 row_count = 2; - case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // string index_name = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_index_name())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.SegmentStat.index_name")); - } else { - goto handle_unusual; - } - break; - } - - // int64 data_size = 4; - case 4: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &data_size_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:milvus.grpc.SegmentStat) - return true; -failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.SegmentStat) - return false; -#undef DO_ -} -#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - -void SegmentStat::SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.segment_name"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->segment_name(), output); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->row_count(), output); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.index_name"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->index_name(), output); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->data_size(), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:milvus.grpc.SegmentStat) -} - -::PROTOBUF_NAMESPACE_ID::uint8* SegmentStat::InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.segment_name"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 1, this->segment_name(), target); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->row_count(), target); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.index_name"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 3, this->index_name(), target); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->data_size(), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.SegmentStat) - return target; -} - -size_t SegmentStat::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.SegmentStat) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->segment_name()); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->index_name()); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->row_count()); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->data_size()); - } - - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void SegmentStat::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.SegmentStat) - GOOGLE_DCHECK_NE(&from, this); - const SegmentStat* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( - &from); - if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.SegmentStat) - MergeFrom(*source); - } -} - -void SegmentStat::MergeFrom(const SegmentStat& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.SegmentStat) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.segment_name().size() > 0) { - - segment_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.segment_name_); - } - if (from.index_name().size() > 0) { - - index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_); - } - if (from.row_count() != 0) { - set_row_count(from.row_count()); - } - if (from.data_size() != 0) { - set_data_size(from.data_size()); - } -} - -void SegmentStat::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.SegmentStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void SegmentStat::CopyFrom(const SegmentStat& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.SegmentStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SegmentStat::IsInitialized() const { - return true; -} - -void SegmentStat::InternalSwap(SegmentStat* other) { - using std::swap; - _internal_metadata_.Swap(&other->_internal_metadata_); - segment_name_.Swap(&other->segment_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - index_name_.Swap(&other->index_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - swap(row_count_, other->row_count_); - swap(data_size_, other->data_size_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SegmentStat::GetMetadata() const { - return GetMetadataStatic(); -} - - -// =================================================================== - -void PartitionStat::InitAsDefaultInstance() { -} -class PartitionStat::_Internal { - public: -}; - -PartitionStat::PartitionStat() - : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { - SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.PartitionStat) -} -PartitionStat::PartitionStat(const PartitionStat& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr), - segments_stat_(from.segments_stat_) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.tag().empty()) { - tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.tag_); - } - total_row_count_ = from.total_row_count_; - // @@protoc_insertion_point(copy_constructor:milvus.grpc.PartitionStat) -} - -void PartitionStat::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PartitionStat_milvus_2eproto.base); - tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - total_row_count_ = PROTOBUF_LONGLONG(0); -} - -PartitionStat::~PartitionStat() { - // @@protoc_insertion_point(destructor:milvus.grpc.PartitionStat) - SharedDtor(); -} - -void PartitionStat::SharedDtor() { - tag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void PartitionStat::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const PartitionStat& PartitionStat::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PartitionStat_milvus_2eproto.base); - return *internal_default_instance(); -} - - -void PartitionStat::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - segments_stat_.Clear(); - tag_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - total_row_count_ = PROTOBUF_LONGLONG(0); - _internal_metadata_.Clear(); -} - -#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* PartitionStat::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - CHK_(ptr); - switch (tag >> 3) { - // string tag = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_tag(), ptr, ctx, "milvus.grpc.PartitionStat.tag"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 total_row_count = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - total_row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_segments_stat(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); - } else goto handle_unusual; - continue; - default: { - handle_unusual: - if ((tag & 7) == 4 || tag == 0) { - ctx->SetLastTag(tag); - goto success; - } - ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); - CHK_(ptr != nullptr); - continue; - } - } // switch - } // while -success: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} -#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool PartitionStat::MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.PartitionStat) - for (;;) { - ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string tag = 1; - case 1: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_tag())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.PartitionStat.tag")); - } else { - goto handle_unusual; - } - break; - } - - // int64 total_row_count = 2; - case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &total_row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_segments_stat())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:milvus.grpc.PartitionStat) - return true; -failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.PartitionStat) - return false; -#undef DO_ -} -#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - -void PartitionStat::SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string tag = 1; - if (this->tag().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.PartitionStat.tag"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->tag(), output); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->total_row_count(), output); - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->segments_stat_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, - this->segments_stat(static_cast(i)), - output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:milvus.grpc.PartitionStat) -} - -::PROTOBUF_NAMESPACE_ID::uint8* PartitionStat::InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string tag = 1; - if (this->tag().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.PartitionStat.tag"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 1, this->tag(), target); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->total_row_count(), target); - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->segments_stat_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->segments_stat(static_cast(i)), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.PartitionStat) - return target; -} - -size_t PartitionStat::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.PartitionStat) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - { - unsigned int count = static_cast(this->segments_stat_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->segments_stat(static_cast(i))); - } - } - - // string tag = 1; - if (this->tag().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->tag()); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->total_row_count()); - } - - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void PartitionStat::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.PartitionStat) - GOOGLE_DCHECK_NE(&from, this); - const PartitionStat* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( - &from); - if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.PartitionStat) - MergeFrom(*source); - } -} - -void PartitionStat::MergeFrom(const PartitionStat& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.PartitionStat) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - segments_stat_.MergeFrom(from.segments_stat_); - if (from.tag().size() > 0) { - - tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.tag_); - } - if (from.total_row_count() != 0) { - set_total_row_count(from.total_row_count()); - } -} - -void PartitionStat::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.PartitionStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void PartitionStat::CopyFrom(const PartitionStat& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.PartitionStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool PartitionStat::IsInitialized() const { - return true; -} - -void PartitionStat::InternalSwap(PartitionStat* other) { - using std::swap; - _internal_metadata_.Swap(&other->_internal_metadata_); - CastToBase(&segments_stat_)->InternalSwap(CastToBase(&other->segments_stat_)); - tag_.Swap(&other->tag_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - swap(total_row_count_, other->total_row_count_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata PartitionStat::GetMetadata() const { - return GetMetadataStatic(); -} - - // =================================================================== void CollectionInfo::InitAsDefaultInstance() { @@ -9970,23 +9132,24 @@ CollectionInfo::CollectionInfo() } CollectionInfo::CollectionInfo(const CollectionInfo& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr), - partitions_stat_(from.partitions_stat_) { + _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); + json_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.json_info().empty()) { + json_info_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.json_info_); + } if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - total_row_count_ = from.total_row_count_; // @@protoc_insertion_point(copy_constructor:milvus.grpc.CollectionInfo) } void CollectionInfo::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CollectionInfo_milvus_2eproto.base); - ::memset(&status_, 0, static_cast( - reinterpret_cast(&total_row_count_) - - reinterpret_cast(&status_)) + sizeof(total_row_count_)); + json_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + status_ = nullptr; } CollectionInfo::~CollectionInfo() { @@ -9995,6 +9158,7 @@ CollectionInfo::~CollectionInfo() { } void CollectionInfo::SharedDtor() { + json_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete status_; } @@ -10013,12 +9177,11 @@ void CollectionInfo::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - partitions_stat_.Clear(); + json_info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - total_row_count_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } @@ -10037,25 +9200,13 @@ const char* CollectionInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE CHK_(ptr); } else goto handle_unusual; continue; - // int64 total_row_count = 2; + // string json_info = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - total_row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_json_info(), ptr, ctx, "milvus.grpc.CollectionInfo.json_info"); CHK_(ptr); } else goto handle_unusual; continue; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_partitions_stat(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); - } else goto handle_unusual; - continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -10097,24 +9248,15 @@ bool CollectionInfo::MergePartialFromCodedStream( break; } - // int64 total_row_count = 2; + // string json_info = 2; case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &total_row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_partitions_stat())); + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( + input, this->mutable_json_info())); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, + "milvus.grpc.CollectionInfo.json_info")); } else { goto handle_unusual; } @@ -10154,18 +9296,14 @@ void CollectionInfo::SerializeWithCachedSizes( 1, _Internal::status(this), output); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->total_row_count(), output); - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->partitions_stat_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, - this->partitions_stat(static_cast(i)), - output); + // string json_info = 2; + if (this->json_info().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "milvus.grpc.CollectionInfo.json_info"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( + 2, this->json_info(), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -10188,17 +9326,15 @@ void CollectionInfo::SerializeWithCachedSizes( 1, _Internal::status(this), target); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->total_row_count(), target); - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->partitions_stat_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->partitions_stat(static_cast(i)), target); + // string json_info = 2; + if (this->json_info().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "milvus.grpc.CollectionInfo.json_info"); + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( + 2, this->json_info(), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -10222,15 +9358,11 @@ size_t CollectionInfo::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - { - unsigned int count = static_cast(this->partitions_stat_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->partitions_stat(static_cast(i))); - } + // string json_info = 2; + if (this->json_info().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->json_info()); } // .milvus.grpc.Status status = 1; @@ -10240,13 +9372,6 @@ size_t CollectionInfo::ByteSizeLong() const { *status_); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->total_row_count()); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -10274,13 +9399,13 @@ void CollectionInfo::MergeFrom(const CollectionInfo& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - partitions_stat_.MergeFrom(from.partitions_stat_); + if (from.json_info().size() > 0) { + + json_info_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.json_info_); + } if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } - if (from.total_row_count() != 0) { - set_total_row_count(from.total_row_count()); - } } void CollectionInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { @@ -10304,9 +9429,9 @@ bool CollectionInfo::IsInitialized() const { void CollectionInfo::InternalSwap(CollectionInfo* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - CastToBase(&partitions_stat_)->InternalSwap(CastToBase(&other->partitions_stat_)); + json_info_.Swap(&other->json_info_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(status_, other->status_); - swap(total_row_count_, other->total_row_count_); } ::PROTOBUF_NAMESPACE_ID::Metadata CollectionInfo::GetMetadata() const { @@ -10316,66 +9441,65 @@ void CollectionInfo::InternalSwap(CollectionInfo* other) { // =================================================================== -void VectorIdentity::InitAsDefaultInstance() { +void VectorsIdentity::InitAsDefaultInstance() { } -class VectorIdentity::_Internal { +class VectorsIdentity::_Internal { public: }; -VectorIdentity::VectorIdentity() +VectorsIdentity::VectorsIdentity() : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(constructor:milvus.grpc.VectorsIdentity) } -VectorIdentity::VectorIdentity(const VectorIdentity& from) +VectorsIdentity::VectorsIdentity(const VectorsIdentity& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + id_array_(from.id_array_) { _internal_metadata_.MergeFrom(from._internal_metadata_); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.collection_name().empty()) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - id_ = from.id_; - // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorsIdentity) } -void VectorIdentity::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorIdentity_milvus_2eproto.base); +void VectorsIdentity::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorsIdentity_milvus_2eproto.base); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - id_ = PROTOBUF_LONGLONG(0); } -VectorIdentity::~VectorIdentity() { - // @@protoc_insertion_point(destructor:milvus.grpc.VectorIdentity) +VectorsIdentity::~VectorsIdentity() { + // @@protoc_insertion_point(destructor:milvus.grpc.VectorsIdentity) SharedDtor(); } -void VectorIdentity::SharedDtor() { +void VectorsIdentity::SharedDtor() { collection_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void VectorIdentity::SetCachedSize(int size) const { +void VectorsIdentity::SetCachedSize(int size) const { _cached_size_.Set(size); } -const VectorIdentity& VectorIdentity::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorIdentity_milvus_2eproto.base); +const VectorsIdentity& VectorsIdentity::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorsIdentity_milvus_2eproto.base); return *internal_default_instance(); } -void VectorIdentity::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::Clear() { +// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + id_array_.Clear(); collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - id_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* VectorIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* VectorsIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; @@ -10385,14 +9509,17 @@ const char* VectorIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE // string collection_name = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_collection_name(), ptr, ctx, "milvus.grpc.VectorIdentity.collection_name"); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_collection_name(), ptr, ctx, "milvus.grpc.VectorsIdentity.collection_name"); CHK_(ptr); } else goto handle_unusual; continue; - // int64 id = 2; + // repeated int64 id_array = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_id_array(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) { + add_id_array(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; @@ -10416,11 +9543,11 @@ failure: #undef CHK_ } #else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool VectorIdentity::MergePartialFromCodedStream( +bool VectorsIdentity::MergePartialFromCodedStream( ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_start:milvus.grpc.VectorsIdentity) for (;;) { ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; @@ -10434,20 +9561,23 @@ bool VectorIdentity::MergePartialFromCodedStream( DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.VectorIdentity.collection_name")); + "milvus.grpc.VectorsIdentity.collection_name")); } else { goto handle_unusual; } break; } - // int64 id = 2; + // repeated int64 id_array = 2; case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &id_))); + input, this->mutable_id_array()))); + } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + 1, 18u, input, this->mutable_id_array()))); } else { goto handle_unusual; } @@ -10466,18 +9596,18 @@ bool VectorIdentity::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_success:milvus.grpc.VectorsIdentity) return true; failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorsIdentity) return false; #undef DO_ } #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -void VectorIdentity::SerializeWithCachedSizes( +void VectorsIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10486,26 +9616,32 @@ void VectorIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.VectorIdentity.collection_name"); + "milvus.grpc.VectorsIdentity.collection_name"); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( 1, this->collection_name(), output); } - // int64 id = 2; - if (this->id() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->id(), output); + // repeated int64 id_array = 2; + if (this->id_array_size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(2, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_id_array_cached_byte_size_.load( + std::memory_order_relaxed)); + } + for (int i = 0, n = this->id_array_size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( + this->id_array(i), output); } if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorsIdentity) } -::PROTOBUF_NAMESPACE_ID::uint8* VectorIdentity::InternalSerializeWithCachedSizesToArray( +::PROTOBUF_NAMESPACE_ID::uint8* VectorsIdentity::InternalSerializeWithCachedSizesToArray( ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10514,27 +9650,35 @@ void VectorIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.VectorIdentity.collection_name"); + "milvus.grpc.VectorsIdentity.collection_name"); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( 1, this->collection_name(), target); } - // int64 id = 2; - if (this->id() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->id(), target); + // repeated int64 id_array = 2; + if (this->id_array_size() > 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( + 2, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( + _id_array_cached_byte_size_.load(std::memory_order_relaxed), + target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + WriteInt64NoTagToArray(this->id_array_, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorsIdentity) return target; } -size_t VectorIdentity::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorIdentity) +size_t VectorsIdentity::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorsIdentity) size_t total_size = 0; if (_internal_metadata_.have_unknown_fields()) { @@ -10546,6 +9690,21 @@ size_t VectorIdentity::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated int64 id_array = 2; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + Int64Size(this->id_array_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _id_array_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // string collection_name = 1; if (this->collection_name().size() > 0) { total_size += 1 + @@ -10553,175 +9712,149 @@ size_t VectorIdentity::ByteSizeLong() const { this->collection_name()); } - // int64 id = 2; - if (this->id() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->id()); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; } -void VectorIdentity::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorsIdentity) GOOGLE_DCHECK_NE(&from, this); - const VectorIdentity* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const VectorsIdentity* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorsIdentity) MergeFrom(*source); } } -void VectorIdentity::MergeFrom(const VectorIdentity& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::MergeFrom(const VectorsIdentity& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorsIdentity) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + id_array_.MergeFrom(from.id_array_); if (from.collection_name().size() > 0) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - if (from.id() != 0) { - set_id(from.id()); - } } -void VectorIdentity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorsIdentity) if (&from == this) return; Clear(); MergeFrom(from); } -void VectorIdentity::CopyFrom(const VectorIdentity& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::CopyFrom(const VectorsIdentity& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorsIdentity) if (&from == this) return; Clear(); MergeFrom(from); } -bool VectorIdentity::IsInitialized() const { +bool VectorsIdentity::IsInitialized() const { return true; } -void VectorIdentity::InternalSwap(VectorIdentity* other) { +void VectorsIdentity::InternalSwap(VectorsIdentity* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + id_array_.InternalSwap(&other->id_array_); collection_name_.Swap(&other->collection_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(id_, other->id_); } -::PROTOBUF_NAMESPACE_ID::Metadata VectorIdentity::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata VectorsIdentity::GetMetadata() const { return GetMetadataStatic(); } // =================================================================== -void VectorData::InitAsDefaultInstance() { - ::milvus::grpc::_VectorData_default_instance_._instance.get_mutable()->status_ = const_cast< ::milvus::grpc::Status*>( +void VectorsData::InitAsDefaultInstance() { + ::milvus::grpc::_VectorsData_default_instance_._instance.get_mutable()->status_ = const_cast< ::milvus::grpc::Status*>( ::milvus::grpc::Status::internal_default_instance()); - ::milvus::grpc::_VectorData_default_instance_._instance.get_mutable()->vector_data_ = const_cast< ::milvus::grpc::RowRecord*>( - ::milvus::grpc::RowRecord::internal_default_instance()); } -class VectorData::_Internal { +class VectorsData::_Internal { public: - static const ::milvus::grpc::Status& status(const VectorData* msg); - static const ::milvus::grpc::RowRecord& vector_data(const VectorData* msg); + static const ::milvus::grpc::Status& status(const VectorsData* msg); }; const ::milvus::grpc::Status& -VectorData::_Internal::status(const VectorData* msg) { +VectorsData::_Internal::status(const VectorsData* msg) { return *msg->status_; } -const ::milvus::grpc::RowRecord& -VectorData::_Internal::vector_data(const VectorData* msg) { - return *msg->vector_data_; -} -void VectorData::clear_status() { +void VectorsData::clear_status() { if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; } -VectorData::VectorData() +VectorsData::VectorsData() : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.VectorData) + // @@protoc_insertion_point(constructor:milvus.grpc.VectorsData) } -VectorData::VectorData(const VectorData& from) +VectorsData::VectorsData(const VectorsData& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + vectors_data_(from.vectors_data_) { _internal_metadata_.MergeFrom(from._internal_metadata_); if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - if (from.has_vector_data()) { - vector_data_ = new ::milvus::grpc::RowRecord(*from.vector_data_); - } else { - vector_data_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorData) + // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorsData) } -void VectorData::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorData_milvus_2eproto.base); - ::memset(&status_, 0, static_cast( - reinterpret_cast(&vector_data_) - - reinterpret_cast(&status_)) + sizeof(vector_data_)); +void VectorsData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorsData_milvus_2eproto.base); + status_ = nullptr; } -VectorData::~VectorData() { - // @@protoc_insertion_point(destructor:milvus.grpc.VectorData) +VectorsData::~VectorsData() { + // @@protoc_insertion_point(destructor:milvus.grpc.VectorsData) SharedDtor(); } -void VectorData::SharedDtor() { +void VectorsData::SharedDtor() { if (this != internal_default_instance()) delete status_; - if (this != internal_default_instance()) delete vector_data_; } -void VectorData::SetCachedSize(int size) const { +void VectorsData::SetCachedSize(int size) const { _cached_size_.Set(size); } -const VectorData& VectorData::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorData_milvus_2eproto.base); +const VectorsData& VectorsData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorsData_milvus_2eproto.base); return *internal_default_instance(); } -void VectorData::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorData) +void VectorsData::Clear() { +// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + vectors_data_.Clear(); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - if (GetArenaNoVirtual() == nullptr && vector_data_ != nullptr) { - delete vector_data_; - } - vector_data_ = nullptr; _internal_metadata_.Clear(); } #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* VectorData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* VectorsData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; @@ -10735,11 +9868,16 @@ const char* VectorData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: CHK_(ptr); } else goto handle_unusual; continue; - // .milvus.grpc.RowRecord vector_data = 2; + // repeated .milvus.grpc.RowRecord vectors_data = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(mutable_vector_data(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(add_vectors_data(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } else goto handle_unusual; continue; default: { @@ -10762,11 +9900,11 @@ failure: #undef CHK_ } #else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool VectorData::MergePartialFromCodedStream( +bool VectorsData::MergePartialFromCodedStream( ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_start:milvus.grpc.VectorsData) for (;;) { ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; @@ -10783,11 +9921,11 @@ bool VectorData::MergePartialFromCodedStream( break; } - // .milvus.grpc.RowRecord vector_data = 2; + // repeated .milvus.grpc.RowRecord vectors_data = 2; case 2: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, mutable_vector_data())); + input, add_vectors_data())); } else { goto handle_unusual; } @@ -10806,18 +9944,18 @@ bool VectorData::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_success:milvus.grpc.VectorsData) return true; failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorsData) return false; #undef DO_ } #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -void VectorData::SerializeWithCachedSizes( +void VectorsData::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10827,22 +9965,25 @@ void VectorData::SerializeWithCachedSizes( 1, _Internal::status(this), output); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { + // repeated .milvus.grpc.RowRecord vectors_data = 2; + for (unsigned int i = 0, + n = static_cast(this->vectors_data_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, _Internal::vector_data(this), output); + 2, + this->vectors_data(static_cast(i)), + output); } if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorsData) } -::PROTOBUF_NAMESPACE_ID::uint8* VectorData::InternalSerializeWithCachedSizesToArray( +::PROTOBUF_NAMESPACE_ID::uint8* VectorsData::InternalSerializeWithCachedSizesToArray( ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10853,23 +9994,24 @@ void VectorData::SerializeWithCachedSizes( 1, _Internal::status(this), target); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { + // repeated .milvus.grpc.RowRecord vectors_data = 2; + for (unsigned int i = 0, + n = static_cast(this->vectors_data_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, _Internal::vector_data(this), target); + 2, this->vectors_data(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorsData) return target; } -size_t VectorData::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorData) +size_t VectorsData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorsData) size_t total_size = 0; if (_internal_metadata_.have_unknown_fields()) { @@ -10881,6 +10023,17 @@ size_t VectorData::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated .milvus.grpc.RowRecord vectors_data = 2; + { + unsigned int count = static_cast(this->vectors_data_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + this->vectors_data(static_cast(i))); + } + } + // .milvus.grpc.Status status = 1; if (this->has_status()) { total_size += 1 + @@ -10888,74 +10041,65 @@ size_t VectorData::ByteSizeLong() const { *status_); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *vector_data_); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; } -void VectorData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorData) +void VectorsData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorsData) GOOGLE_DCHECK_NE(&from, this); - const VectorData* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const VectorsData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorData) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorData) + // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorsData) MergeFrom(*source); } } -void VectorData::MergeFrom(const VectorData& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorData) +void VectorsData::MergeFrom(const VectorsData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorsData) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + vectors_data_.MergeFrom(from.vectors_data_); if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } - if (from.has_vector_data()) { - mutable_vector_data()->::milvus::grpc::RowRecord::MergeFrom(from.vector_data()); - } } -void VectorData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorData) +void VectorsData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorsData) if (&from == this) return; Clear(); MergeFrom(from); } -void VectorData::CopyFrom(const VectorData& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorData) +void VectorsData::CopyFrom(const VectorsData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorsData) if (&from == this) return; Clear(); MergeFrom(from); } -bool VectorData::IsInitialized() const { +bool VectorsData::IsInitialized() const { return true; } -void VectorData::InternalSwap(VectorData* other) { +void VectorsData::InternalSwap(VectorsData* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + CastToBase(&vectors_data_)->InternalSwap(CastToBase(&other->vectors_data_)); swap(status_, other->status_); - swap(vector_data_, other->vector_data_); } -::PROTOBUF_NAMESPACE_ID::Metadata VectorData::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata VectorsData::GetMetadata() const { return GetMetadataStatic(); } @@ -20891,20 +20035,14 @@ template<> PROTOBUF_NOINLINE ::milvus::grpc::FlushParam* Arena::CreateMaybeMessa template<> PROTOBUF_NOINLINE ::milvus::grpc::DeleteByIDParam* Arena::CreateMaybeMessage< ::milvus::grpc::DeleteByIDParam >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::DeleteByIDParam >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::SegmentStat* Arena::CreateMaybeMessage< ::milvus::grpc::SegmentStat >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::SegmentStat >(arena); -} -template<> PROTOBUF_NOINLINE ::milvus::grpc::PartitionStat* Arena::CreateMaybeMessage< ::milvus::grpc::PartitionStat >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::PartitionStat >(arena); -} template<> PROTOBUF_NOINLINE ::milvus::grpc::CollectionInfo* Arena::CreateMaybeMessage< ::milvus::grpc::CollectionInfo >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::CollectionInfo >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorIdentity* Arena::CreateMaybeMessage< ::milvus::grpc::VectorIdentity >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::VectorIdentity >(arena); +template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorsIdentity* Arena::CreateMaybeMessage< ::milvus::grpc::VectorsIdentity >(Arena* arena) { + return Arena::CreateInternal< ::milvus::grpc::VectorsIdentity >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorData* Arena::CreateMaybeMessage< ::milvus::grpc::VectorData >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::VectorData >(arena); +template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorsData* Arena::CreateMaybeMessage< ::milvus::grpc::VectorsData >(Arena* arena) { + return Arena::CreateInternal< ::milvus::grpc::VectorsData >(arena); } template<> PROTOBUF_NOINLINE ::milvus::grpc::GetVectorIDsParam* Arena::CreateMaybeMessage< ::milvus::grpc::GetVectorIDsParam >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::GetVectorIDsParam >(arena); diff --git a/core/src/grpc/gen-milvus/milvus.pb.h b/core/src/grpc/gen-milvus/milvus.pb.h index b246211763..f9c74151a4 100644 --- a/core/src/grpc/gen-milvus/milvus.pb.h +++ b/core/src/grpc/gen-milvus/milvus.pb.h @@ -49,7 +49,7 @@ struct TableStruct_milvus_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[50] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[48] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -160,9 +160,6 @@ extern PartitionListDefaultTypeInternal _PartitionList_default_instance_; class PartitionParam; class PartitionParamDefaultTypeInternal; extern PartitionParamDefaultTypeInternal _PartitionParam_default_instance_; -class PartitionStat; -class PartitionStatDefaultTypeInternal; -extern PartitionStatDefaultTypeInternal _PartitionStat_default_instance_; class RangeQuery; class RangeQueryDefaultTypeInternal; extern RangeQueryDefaultTypeInternal _RangeQuery_default_instance_; @@ -178,9 +175,6 @@ extern SearchInFilesParamDefaultTypeInternal _SearchInFilesParam_default_instanc class SearchParam; class SearchParamDefaultTypeInternal; extern SearchParamDefaultTypeInternal _SearchParam_default_instance_; -class SegmentStat; -class SegmentStatDefaultTypeInternal; -extern SegmentStatDefaultTypeInternal _SegmentStat_default_instance_; class StringReply; class StringReplyDefaultTypeInternal; extern StringReplyDefaultTypeInternal _StringReply_default_instance_; @@ -190,24 +184,24 @@ extern TermQueryDefaultTypeInternal _TermQuery_default_instance_; class TopKQueryResult; class TopKQueryResultDefaultTypeInternal; extern TopKQueryResultDefaultTypeInternal _TopKQueryResult_default_instance_; -class VectorData; -class VectorDataDefaultTypeInternal; -extern VectorDataDefaultTypeInternal _VectorData_default_instance_; class VectorFieldParam; class VectorFieldParamDefaultTypeInternal; extern VectorFieldParamDefaultTypeInternal _VectorFieldParam_default_instance_; class VectorFieldValue; class VectorFieldValueDefaultTypeInternal; extern VectorFieldValueDefaultTypeInternal _VectorFieldValue_default_instance_; -class VectorIdentity; -class VectorIdentityDefaultTypeInternal; -extern VectorIdentityDefaultTypeInternal _VectorIdentity_default_instance_; class VectorIds; class VectorIdsDefaultTypeInternal; extern VectorIdsDefaultTypeInternal _VectorIds_default_instance_; class VectorQuery; class VectorQueryDefaultTypeInternal; extern VectorQueryDefaultTypeInternal _VectorQuery_default_instance_; +class VectorsData; +class VectorsDataDefaultTypeInternal; +extern VectorsDataDefaultTypeInternal _VectorsData_default_instance_; +class VectorsIdentity; +class VectorsIdentityDefaultTypeInternal; +extern VectorsIdentityDefaultTypeInternal _VectorsIdentity_default_instance_; } // namespace grpc } // namespace milvus PROTOBUF_NAMESPACE_OPEN @@ -245,22 +239,20 @@ template<> ::milvus::grpc::Mapping* Arena::CreateMaybeMessage<::milvus::grpc::Ma template<> ::milvus::grpc::MappingList* Arena::CreateMaybeMessage<::milvus::grpc::MappingList>(Arena*); template<> ::milvus::grpc::PartitionList* Arena::CreateMaybeMessage<::milvus::grpc::PartitionList>(Arena*); template<> ::milvus::grpc::PartitionParam* Arena::CreateMaybeMessage<::milvus::grpc::PartitionParam>(Arena*); -template<> ::milvus::grpc::PartitionStat* Arena::CreateMaybeMessage<::milvus::grpc::PartitionStat>(Arena*); template<> ::milvus::grpc::RangeQuery* Arena::CreateMaybeMessage<::milvus::grpc::RangeQuery>(Arena*); template<> ::milvus::grpc::RowRecord* Arena::CreateMaybeMessage<::milvus::grpc::RowRecord>(Arena*); template<> ::milvus::grpc::SearchByIDParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchByIDParam>(Arena*); template<> ::milvus::grpc::SearchInFilesParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchInFilesParam>(Arena*); template<> ::milvus::grpc::SearchParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchParam>(Arena*); -template<> ::milvus::grpc::SegmentStat* Arena::CreateMaybeMessage<::milvus::grpc::SegmentStat>(Arena*); template<> ::milvus::grpc::StringReply* Arena::CreateMaybeMessage<::milvus::grpc::StringReply>(Arena*); template<> ::milvus::grpc::TermQuery* Arena::CreateMaybeMessage<::milvus::grpc::TermQuery>(Arena*); template<> ::milvus::grpc::TopKQueryResult* Arena::CreateMaybeMessage<::milvus::grpc::TopKQueryResult>(Arena*); -template<> ::milvus::grpc::VectorData* Arena::CreateMaybeMessage<::milvus::grpc::VectorData>(Arena*); template<> ::milvus::grpc::VectorFieldParam* Arena::CreateMaybeMessage<::milvus::grpc::VectorFieldParam>(Arena*); template<> ::milvus::grpc::VectorFieldValue* Arena::CreateMaybeMessage<::milvus::grpc::VectorFieldValue>(Arena*); -template<> ::milvus::grpc::VectorIdentity* Arena::CreateMaybeMessage<::milvus::grpc::VectorIdentity>(Arena*); template<> ::milvus::grpc::VectorIds* Arena::CreateMaybeMessage<::milvus::grpc::VectorIds>(Arena*); template<> ::milvus::grpc::VectorQuery* Arena::CreateMaybeMessage<::milvus::grpc::VectorQuery>(Arena*); +template<> ::milvus::grpc::VectorsData* Arena::CreateMaybeMessage<::milvus::grpc::VectorsData>(Arena*); +template<> ::milvus::grpc::VectorsIdentity* Arena::CreateMaybeMessage<::milvus::grpc::VectorsIdentity>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace milvus { namespace grpc { @@ -2226,9 +2218,9 @@ class SearchByIDParam : enum : int { kPartitionTagArrayFieldNumber = 2, + kIdArrayFieldNumber = 3, kExtraParamsFieldNumber = 5, kCollectionNameFieldNumber = 1, - kIdFieldNumber = 3, kTopkFieldNumber = 4, }; // repeated string partition_tag_array = 2; @@ -2248,6 +2240,17 @@ class SearchByIDParam : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& partition_tag_array() const; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_partition_tag_array(); + // repeated int64 id_array = 3; + int id_array_size() const; + void clear_id_array(); + ::PROTOBUF_NAMESPACE_ID::int64 id_array(int index) const; + void set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); + void add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& + id_array() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + mutable_id_array(); + // repeated .milvus.grpc.KeyValuePair extra_params = 5; int extra_params_size() const; void clear_extra_params(); @@ -2270,11 +2273,6 @@ class SearchByIDParam : std::string* release_collection_name(); void set_allocated_collection_name(std::string* collection_name); - // int64 id = 3; - void clear_id(); - ::PROTOBUF_NAMESPACE_ID::int64 id() const; - void set_id(::PROTOBUF_NAMESPACE_ID::int64 value); - // int64 topk = 4; void clear_topk(); ::PROTOBUF_NAMESPACE_ID::int64 topk() const; @@ -2286,9 +2284,10 @@ class SearchByIDParam : ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField partition_tag_array_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > id_array_; + mutable std::atomic _id_array_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::KeyValuePair > extra_params_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_; - ::PROTOBUF_NAMESPACE_ID::int64 id_; ::PROTOBUF_NAMESPACE_ID::int64 topk_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -3491,327 +3490,6 @@ class DeleteByIDParam : }; // ------------------------------------------------------------------- -class SegmentStat : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.SegmentStat) */ { - public: - SegmentStat(); - virtual ~SegmentStat(); - - SegmentStat(const SegmentStat& from); - SegmentStat(SegmentStat&& from) noexcept - : SegmentStat() { - *this = ::std::move(from); - } - - inline SegmentStat& operator=(const SegmentStat& from) { - CopyFrom(from); - return *this; - } - inline SegmentStat& operator=(SegmentStat&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return GetMetadataStatic().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return GetMetadataStatic().reflection; - } - static const SegmentStat& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const SegmentStat* internal_default_instance() { - return reinterpret_cast( - &_SegmentStat_default_instance_); - } - static constexpr int kIndexInFileMessages = - 20; - - friend void swap(SegmentStat& a, SegmentStat& b) { - a.Swap(&b); - } - inline void Swap(SegmentStat* other) { - if (other == this) return; - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline SegmentStat* New() const final { - return CreateMaybeMessage(nullptr); - } - - SegmentStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const SegmentStat& from); - void MergeFrom(const SegmentStat& from); - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - #else - bool MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final; - #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - void SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final; - ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - inline void SharedCtor(); - inline void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SegmentStat* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.SegmentStat"; - } - private: - inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { - return nullptr; - } - inline void* MaybeArenaPtr() const { - return nullptr; - } - public: - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - private: - static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto); - return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages]; - } - - public: - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSegmentNameFieldNumber = 1, - kIndexNameFieldNumber = 3, - kRowCountFieldNumber = 2, - kDataSizeFieldNumber = 4, - }; - // string segment_name = 1; - void clear_segment_name(); - const std::string& segment_name() const; - void set_segment_name(const std::string& value); - void set_segment_name(std::string&& value); - void set_segment_name(const char* value); - void set_segment_name(const char* value, size_t size); - std::string* mutable_segment_name(); - std::string* release_segment_name(); - void set_allocated_segment_name(std::string* segment_name); - - // string index_name = 3; - void clear_index_name(); - const std::string& index_name() const; - void set_index_name(const std::string& value); - void set_index_name(std::string&& value); - void set_index_name(const char* value); - void set_index_name(const char* value, size_t size); - std::string* mutable_index_name(); - std::string* release_index_name(); - void set_allocated_index_name(std::string* index_name); - - // int64 row_count = 2; - void clear_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 row_count() const; - void set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - - // int64 data_size = 4; - void clear_data_size(); - ::PROTOBUF_NAMESPACE_ID::int64 data_size() const; - void set_data_size(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.SegmentStat) - private: - class _Internal; - - ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr segment_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr index_name_; - ::PROTOBUF_NAMESPACE_ID::int64 row_count_; - ::PROTOBUF_NAMESPACE_ID::int64 data_size_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_milvus_2eproto; -}; -// ------------------------------------------------------------------- - -class PartitionStat : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.PartitionStat) */ { - public: - PartitionStat(); - virtual ~PartitionStat(); - - PartitionStat(const PartitionStat& from); - PartitionStat(PartitionStat&& from) noexcept - : PartitionStat() { - *this = ::std::move(from); - } - - inline PartitionStat& operator=(const PartitionStat& from) { - CopyFrom(from); - return *this; - } - inline PartitionStat& operator=(PartitionStat&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return GetMetadataStatic().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return GetMetadataStatic().reflection; - } - static const PartitionStat& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const PartitionStat* internal_default_instance() { - return reinterpret_cast( - &_PartitionStat_default_instance_); - } - static constexpr int kIndexInFileMessages = - 21; - - friend void swap(PartitionStat& a, PartitionStat& b) { - a.Swap(&b); - } - inline void Swap(PartitionStat* other) { - if (other == this) return; - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline PartitionStat* New() const final { - return CreateMaybeMessage(nullptr); - } - - PartitionStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const PartitionStat& from); - void MergeFrom(const PartitionStat& from); - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - #else - bool MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final; - #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - void SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final; - ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - inline void SharedCtor(); - inline void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionStat* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.PartitionStat"; - } - private: - inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { - return nullptr; - } - inline void* MaybeArenaPtr() const { - return nullptr; - } - public: - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - private: - static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto); - return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages]; - } - - public: - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSegmentsStatFieldNumber = 3, - kTagFieldNumber = 1, - kTotalRowCountFieldNumber = 2, - }; - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - int segments_stat_size() const; - void clear_segments_stat(); - ::milvus::grpc::SegmentStat* mutable_segments_stat(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >* - mutable_segments_stat(); - const ::milvus::grpc::SegmentStat& segments_stat(int index) const; - ::milvus::grpc::SegmentStat* add_segments_stat(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >& - segments_stat() const; - - // string tag = 1; - void clear_tag(); - const std::string& tag() const; - void set_tag(const std::string& value); - void set_tag(std::string&& value); - void set_tag(const char* value); - void set_tag(const char* value, size_t size); - std::string* mutable_tag(); - std::string* release_tag(); - void set_allocated_tag(std::string* tag); - - // int64 total_row_count = 2; - void clear_total_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count() const; - void set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.PartitionStat) - private: - class _Internal; - - ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat > segments_stat_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_; - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_milvus_2eproto; -}; -// ------------------------------------------------------------------- - class CollectionInfo : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.CollectionInfo) */ { public: @@ -3854,7 +3532,7 @@ class CollectionInfo : &_CollectionInfo_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 20; friend void swap(CollectionInfo& a, CollectionInfo& b) { a.Swap(&b); @@ -3925,20 +3603,19 @@ class CollectionInfo : // accessors ------------------------------------------------------- enum : int { - kPartitionsStatFieldNumber = 3, + kJsonInfoFieldNumber = 2, kStatusFieldNumber = 1, - kTotalRowCountFieldNumber = 2, }; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - int partitions_stat_size() const; - void clear_partitions_stat(); - ::milvus::grpc::PartitionStat* mutable_partitions_stat(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >* - mutable_partitions_stat(); - const ::milvus::grpc::PartitionStat& partitions_stat(int index) const; - ::milvus::grpc::PartitionStat* add_partitions_stat(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >& - partitions_stat() const; + // string json_info = 2; + void clear_json_info(); + const std::string& json_info() const; + void set_json_info(const std::string& value); + void set_json_info(std::string&& value); + void set_json_info(const char* value); + void set_json_info(const char* value, size_t size); + std::string* mutable_json_info(); + std::string* release_json_info(); + void set_allocated_json_info(std::string* json_info); // .milvus.grpc.Status status = 1; bool has_status() const; @@ -3948,41 +3625,35 @@ class CollectionInfo : ::milvus::grpc::Status* mutable_status(); void set_allocated_status(::milvus::grpc::Status* status); - // int64 total_row_count = 2; - void clear_total_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count() const; - void set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - // @@protoc_insertion_point(class_scope:milvus.grpc.CollectionInfo) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat > partitions_stat_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr json_info_; ::milvus::grpc::Status* status_; - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; // ------------------------------------------------------------------- -class VectorIdentity : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorIdentity) */ { +class VectorsIdentity : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorsIdentity) */ { public: - VectorIdentity(); - virtual ~VectorIdentity(); + VectorsIdentity(); + virtual ~VectorsIdentity(); - VectorIdentity(const VectorIdentity& from); - VectorIdentity(VectorIdentity&& from) noexcept - : VectorIdentity() { + VectorsIdentity(const VectorsIdentity& from); + VectorsIdentity(VectorsIdentity&& from) noexcept + : VectorsIdentity() { *this = ::std::move(from); } - inline VectorIdentity& operator=(const VectorIdentity& from) { + inline VectorsIdentity& operator=(const VectorsIdentity& from) { CopyFrom(from); return *this; } - inline VectorIdentity& operator=(VectorIdentity&& from) noexcept { + inline VectorsIdentity& operator=(VectorsIdentity&& from) noexcept { if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { if (this != &from) InternalSwap(&from); } else { @@ -4000,37 +3671,37 @@ class VectorIdentity : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } - static const VectorIdentity& default_instance(); + static const VectorsIdentity& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const VectorIdentity* internal_default_instance() { - return reinterpret_cast( - &_VectorIdentity_default_instance_); + static inline const VectorsIdentity* internal_default_instance() { + return reinterpret_cast( + &_VectorsIdentity_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 21; - friend void swap(VectorIdentity& a, VectorIdentity& b) { + friend void swap(VectorsIdentity& a, VectorsIdentity& b) { a.Swap(&b); } - inline void Swap(VectorIdentity* other) { + inline void Swap(VectorsIdentity* other) { if (other == this) return; InternalSwap(other); } // implements Message ---------------------------------------------- - inline VectorIdentity* New() const final { - return CreateMaybeMessage(nullptr); + inline VectorsIdentity* New() const final { + return CreateMaybeMessage(nullptr); } - VectorIdentity* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + VectorsIdentity* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const VectorIdentity& from); - void MergeFrom(const VectorIdentity& from); + void CopyFrom(const VectorsIdentity& from); + void MergeFrom(const VectorsIdentity& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -4051,10 +3722,10 @@ class VectorIdentity : inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(VectorIdentity* other); + void InternalSwap(VectorsIdentity* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.VectorIdentity"; + return "milvus.grpc.VectorsIdentity"; } private: inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { @@ -4079,9 +3750,20 @@ class VectorIdentity : // accessors ------------------------------------------------------- enum : int { + kIdArrayFieldNumber = 2, kCollectionNameFieldNumber = 1, - kIdFieldNumber = 2, }; + // repeated int64 id_array = 2; + int id_array_size() const; + void clear_id_array(); + ::PROTOBUF_NAMESPACE_ID::int64 id_array(int index) const; + void set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); + void add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& + id_array() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + mutable_id_array(); + // string collection_name = 1; void clear_collection_name(); const std::string& collection_name() const; @@ -4093,40 +3775,36 @@ class VectorIdentity : std::string* release_collection_name(); void set_allocated_collection_name(std::string* collection_name); - // int64 id = 2; - void clear_id(); - ::PROTOBUF_NAMESPACE_ID::int64 id() const; - void set_id(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(class_scope:milvus.grpc.VectorsIdentity) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > id_array_; + mutable std::atomic _id_array_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_; - ::PROTOBUF_NAMESPACE_ID::int64 id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; // ------------------------------------------------------------------- -class VectorData : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorData) */ { +class VectorsData : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorsData) */ { public: - VectorData(); - virtual ~VectorData(); + VectorsData(); + virtual ~VectorsData(); - VectorData(const VectorData& from); - VectorData(VectorData&& from) noexcept - : VectorData() { + VectorsData(const VectorsData& from); + VectorsData(VectorsData&& from) noexcept + : VectorsData() { *this = ::std::move(from); } - inline VectorData& operator=(const VectorData& from) { + inline VectorsData& operator=(const VectorsData& from) { CopyFrom(from); return *this; } - inline VectorData& operator=(VectorData&& from) noexcept { + inline VectorsData& operator=(VectorsData&& from) noexcept { if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { if (this != &from) InternalSwap(&from); } else { @@ -4144,37 +3822,37 @@ class VectorData : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } - static const VectorData& default_instance(); + static const VectorsData& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const VectorData* internal_default_instance() { - return reinterpret_cast( - &_VectorData_default_instance_); + static inline const VectorsData* internal_default_instance() { + return reinterpret_cast( + &_VectorsData_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 22; - friend void swap(VectorData& a, VectorData& b) { + friend void swap(VectorsData& a, VectorsData& b) { a.Swap(&b); } - inline void Swap(VectorData* other) { + inline void Swap(VectorsData* other) { if (other == this) return; InternalSwap(other); } // implements Message ---------------------------------------------- - inline VectorData* New() const final { - return CreateMaybeMessage(nullptr); + inline VectorsData* New() const final { + return CreateMaybeMessage(nullptr); } - VectorData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + VectorsData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const VectorData& from); - void MergeFrom(const VectorData& from); + void CopyFrom(const VectorsData& from); + void MergeFrom(const VectorsData& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -4195,10 +3873,10 @@ class VectorData : inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(VectorData* other); + void InternalSwap(VectorsData* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.VectorData"; + return "milvus.grpc.VectorsData"; } private: inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { @@ -4223,9 +3901,20 @@ class VectorData : // accessors ------------------------------------------------------- enum : int { + kVectorsDataFieldNumber = 2, kStatusFieldNumber = 1, - kVectorDataFieldNumber = 2, }; + // repeated .milvus.grpc.RowRecord vectors_data = 2; + int vectors_data_size() const; + void clear_vectors_data(); + ::milvus::grpc::RowRecord* mutable_vectors_data(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >* + mutable_vectors_data(); + const ::milvus::grpc::RowRecord& vectors_data(int index) const; + ::milvus::grpc::RowRecord* add_vectors_data(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >& + vectors_data() const; + // .milvus.grpc.Status status = 1; bool has_status() const; void clear_status(); @@ -4234,21 +3923,13 @@ class VectorData : ::milvus::grpc::Status* mutable_status(); void set_allocated_status(::milvus::grpc::Status* status); - // .milvus.grpc.RowRecord vector_data = 2; - bool has_vector_data() const; - void clear_vector_data(); - const ::milvus::grpc::RowRecord& vector_data() const; - ::milvus::grpc::RowRecord* release_vector_data(); - ::milvus::grpc::RowRecord* mutable_vector_data(); - void set_allocated_vector_data(::milvus::grpc::RowRecord* vector_data); - - // @@protoc_insertion_point(class_scope:milvus.grpc.VectorData) + // @@protoc_insertion_point(class_scope:milvus.grpc.VectorsData) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord > vectors_data_; ::milvus::grpc::Status* status_; - ::milvus::grpc::RowRecord* vector_data_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; @@ -4296,7 +3977,7 @@ class GetVectorIDsParam : &_GetVectorIDsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 23; friend void swap(GetVectorIDsParam& a, GetVectorIDsParam& b) { a.Swap(&b); @@ -4446,7 +4127,7 @@ class VectorFieldParam : &_VectorFieldParam_default_instance_); } static constexpr int kIndexInFileMessages = - 26; + 24; friend void swap(VectorFieldParam& a, VectorFieldParam& b) { a.Swap(&b); @@ -4583,7 +4264,7 @@ class FieldType : &_FieldType_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 25; friend void swap(FieldType& a, FieldType& b) { a.Swap(&b); @@ -4739,7 +4420,7 @@ class FieldParam : &_FieldParam_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 26; friend void swap(FieldParam& a, FieldParam& b) { a.Swap(&b); @@ -4906,7 +4587,7 @@ class VectorFieldValue : &_VectorFieldValue_default_instance_); } static constexpr int kIndexInFileMessages = - 29; + 27; friend void swap(VectorFieldValue& a, VectorFieldValue& b) { a.Swap(&b); @@ -5054,7 +4735,7 @@ class FieldValue : &_FieldValue_default_instance_); } static constexpr int kIndexInFileMessages = - 30; + 28; friend void swap(FieldValue& a, FieldValue& b) { a.Swap(&b); @@ -5271,7 +4952,7 @@ class Mapping : &_Mapping_default_instance_); } static constexpr int kIndexInFileMessages = - 31; + 29; friend void swap(Mapping& a, Mapping& b) { a.Swap(&b); @@ -5438,7 +5119,7 @@ class MappingList : &_MappingList_default_instance_); } static constexpr int kIndexInFileMessages = - 32; + 30; friend void swap(MappingList& a, MappingList& b) { a.Swap(&b); @@ -5585,7 +5266,7 @@ class TermQuery : &_TermQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 31; friend void swap(TermQuery& a, TermQuery& b) { a.Swap(&b); @@ -5762,7 +5443,7 @@ class CompareExpr : &_CompareExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 32; friend void swap(CompareExpr& a, CompareExpr& b) { a.Swap(&b); @@ -5906,7 +5587,7 @@ class RangeQuery : &_RangeQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 33; friend void swap(RangeQuery& a, RangeQuery& b) { a.Swap(&b); @@ -6076,7 +5757,7 @@ class VectorQuery : &_VectorQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 34; friend void swap(VectorQuery& a, VectorQuery& b) { a.Swap(&b); @@ -6253,7 +5934,7 @@ class BooleanQuery : &_BooleanQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 35; friend void swap(BooleanQuery& a, BooleanQuery& b) { a.Swap(&b); @@ -6405,7 +6086,7 @@ class GeneralQuery : &_GeneralQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 36; friend void swap(GeneralQuery& a, GeneralQuery& b) { a.Swap(&b); @@ -6583,7 +6264,7 @@ class HSearchParam : &_HSearchParam_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 37; friend void swap(HSearchParam& a, HSearchParam& b) { a.Swap(&b); @@ -6762,7 +6443,7 @@ class HSearchInSegmentsParam : &_HSearchInSegmentsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 38; friend void swap(HSearchInSegmentsParam& a, HSearchInSegmentsParam& b) { a.Swap(&b); @@ -6915,7 +6596,7 @@ class AttrRecord : &_AttrRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 39; friend void swap(AttrRecord& a, AttrRecord& b) { a.Swap(&b); @@ -7058,7 +6739,7 @@ class HEntity : &_HEntity_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 40; friend void swap(HEntity& a, HEntity& b) { a.Swap(&b); @@ -7251,7 +6932,7 @@ class HQueryResult : &_HQueryResult_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 41; friend void swap(HQueryResult& a, HQueryResult& b) { a.Swap(&b); @@ -7433,7 +7114,7 @@ class HInsertParam : &_HInsertParam_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 42; friend void swap(HInsertParam& a, HInsertParam& b) { a.Swap(&b); @@ -7620,7 +7301,7 @@ class HEntityIdentity : &_HEntityIdentity_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 43; friend void swap(HEntityIdentity& a, HEntityIdentity& b) { a.Swap(&b); @@ -7764,7 +7445,7 @@ class HEntityIDs : &_HEntityIDs_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 44; friend void swap(HEntityIDs& a, HEntityIDs& b) { a.Swap(&b); @@ -7912,7 +7593,7 @@ class HGetEntityIDsParam : &_HGetEntityIDsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 45; friend void swap(HGetEntityIDsParam& a, HGetEntityIDsParam& b) { a.Swap(&b); @@ -8062,7 +7743,7 @@ class HDeleteByIDParam : &_HDeleteByIDParam_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 46; friend void swap(HDeleteByIDParam& a, HDeleteByIDParam& b) { a.Swap(&b); @@ -8213,7 +7894,7 @@ class HIndexParam : &_HIndexParam_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 47; friend void swap(HIndexParam& a, HIndexParam& b) { a.Swap(&b); @@ -9804,18 +9485,34 @@ SearchByIDParam::mutable_partition_tag_array() { return &partition_tag_array_; } -// int64 id = 3; -inline void SearchByIDParam::clear_id() { - id_ = PROTOBUF_LONGLONG(0); +// repeated int64 id_array = 3; +inline int SearchByIDParam::id_array_size() const { + return id_array_.size(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 SearchByIDParam::id() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SearchByIDParam.id) - return id_; +inline void SearchByIDParam::clear_id_array() { + id_array_.Clear(); } -inline void SearchByIDParam::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - id_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SearchByIDParam.id) +inline ::PROTOBUF_NAMESPACE_ID::int64 SearchByIDParam::id_array(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.SearchByIDParam.id_array) + return id_array_.Get(index); +} +inline void SearchByIDParam::set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Set(index, value); + // @@protoc_insertion_point(field_set:milvus.grpc.SearchByIDParam.id_array) +} +inline void SearchByIDParam::add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Add(value); + // @@protoc_insertion_point(field_add:milvus.grpc.SearchByIDParam.id_array) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& +SearchByIDParam::id_array() const { + // @@protoc_insertion_point(field_list:milvus.grpc.SearchByIDParam.id_array) + return id_array_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +SearchByIDParam::mutable_id_array() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.SearchByIDParam.id_array) + return &id_array_; } // int64 topk = 4; @@ -10566,239 +10263,6 @@ DeleteByIDParam::mutable_id_array() { // ------------------------------------------------------------------- -// SegmentStat - -// string segment_name = 1; -inline void SegmentStat::clear_segment_name() { - segment_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& SegmentStat::segment_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.segment_name) - return segment_name_.GetNoArena(); -} -inline void SegmentStat::set_segment_name(const std::string& value) { - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(std::string&& value) { - - segment_name_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(const char* value, size_t size) { - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.SegmentStat.segment_name) -} -inline std::string* SegmentStat::mutable_segment_name() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.SegmentStat.segment_name) - return segment_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* SegmentStat::release_segment_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.SegmentStat.segment_name) - - return segment_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void SegmentStat::set_allocated_segment_name(std::string* segment_name) { - if (segment_name != nullptr) { - - } else { - - } - segment_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), segment_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.SegmentStat.segment_name) -} - -// int64 row_count = 2; -inline void SegmentStat::clear_row_count() { - row_count_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 SegmentStat::row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.row_count) - return row_count_; -} -inline void SegmentStat::set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { - - row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.row_count) -} - -// string index_name = 3; -inline void SegmentStat::clear_index_name() { - index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& SegmentStat::index_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.index_name) - return index_name_.GetNoArena(); -} -inline void SegmentStat::set_index_name(const std::string& value) { - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(std::string&& value) { - - index_name_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(const char* value, size_t size) { - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.SegmentStat.index_name) -} -inline std::string* SegmentStat::mutable_index_name() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.SegmentStat.index_name) - return index_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* SegmentStat::release_index_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.SegmentStat.index_name) - - return index_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void SegmentStat::set_allocated_index_name(std::string* index_name) { - if (index_name != nullptr) { - - } else { - - } - index_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), index_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.SegmentStat.index_name) -} - -// int64 data_size = 4; -inline void SegmentStat::clear_data_size() { - data_size_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 SegmentStat::data_size() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.data_size) - return data_size_; -} -inline void SegmentStat::set_data_size(::PROTOBUF_NAMESPACE_ID::int64 value) { - - data_size_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.data_size) -} - -// ------------------------------------------------------------------- - -// PartitionStat - -// string tag = 1; -inline void PartitionStat::clear_tag() { - tag_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& PartitionStat::tag() const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.tag) - return tag_.GetNoArena(); -} -inline void PartitionStat::set_tag(const std::string& value) { - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(std::string&& value) { - - tag_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(const char* value, size_t size) { - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.PartitionStat.tag) -} -inline std::string* PartitionStat::mutable_tag() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.PartitionStat.tag) - return tag_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* PartitionStat::release_tag() { - // @@protoc_insertion_point(field_release:milvus.grpc.PartitionStat.tag) - - return tag_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void PartitionStat::set_allocated_tag(std::string* tag) { - if (tag != nullptr) { - - } else { - - } - tag_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tag); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.PartitionStat.tag) -} - -// int64 total_row_count = 2; -inline void PartitionStat::clear_total_row_count() { - total_row_count_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 PartitionStat::total_row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.total_row_count) - return total_row_count_; -} -inline void PartitionStat::set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { - - total_row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.PartitionStat.total_row_count) -} - -// repeated .milvus.grpc.SegmentStat segments_stat = 3; -inline int PartitionStat::segments_stat_size() const { - return segments_stat_.size(); -} -inline void PartitionStat::clear_segments_stat() { - segments_stat_.Clear(); -} -inline ::milvus::grpc::SegmentStat* PartitionStat::mutable_segments_stat(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >* -PartitionStat::mutable_segments_stat() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.PartitionStat.segments_stat) - return &segments_stat_; -} -inline const ::milvus::grpc::SegmentStat& PartitionStat::segments_stat(int index) const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Get(index); -} -inline ::milvus::grpc::SegmentStat* PartitionStat::add_segments_stat() { - // @@protoc_insertion_point(field_add:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Add(); -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >& -PartitionStat::segments_stat() const { - // @@protoc_insertion_point(field_list:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_; -} - -// ------------------------------------------------------------------- - // CollectionInfo // .milvus.grpc.Status status = 1; @@ -10846,150 +10310,173 @@ inline void CollectionInfo::set_allocated_status(::milvus::grpc::Status* status) // @@protoc_insertion_point(field_set_allocated:milvus.grpc.CollectionInfo.status) } -// int64 total_row_count = 2; -inline void CollectionInfo::clear_total_row_count() { - total_row_count_ = PROTOBUF_LONGLONG(0); +// string json_info = 2; +inline void CollectionInfo::clear_json_info() { + json_info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::PROTOBUF_NAMESPACE_ID::int64 CollectionInfo::total_row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.total_row_count) - return total_row_count_; +inline const std::string& CollectionInfo::json_info() const { + // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.json_info) + return json_info_.GetNoArena(); } -inline void CollectionInfo::set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void CollectionInfo::set_json_info(const std::string& value) { - total_row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.CollectionInfo.total_row_count) + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:milvus.grpc.CollectionInfo.json_info) } - -// repeated .milvus.grpc.PartitionStat partitions_stat = 3; -inline int CollectionInfo::partitions_stat_size() const { - return partitions_stat_.size(); +inline void CollectionInfo::set_json_info(std::string&& value) { + + json_info_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.CollectionInfo.json_info) } -inline void CollectionInfo::clear_partitions_stat() { - partitions_stat_.Clear(); +inline void CollectionInfo::set_json_info(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:milvus.grpc.CollectionInfo.json_info) } -inline ::milvus::grpc::PartitionStat* CollectionInfo::mutable_partitions_stat(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Mutable(index); +inline void CollectionInfo::set_json_info(const char* value, size_t size) { + + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.CollectionInfo.json_info) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >* -CollectionInfo::mutable_partitions_stat() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.CollectionInfo.partitions_stat) - return &partitions_stat_; +inline std::string* CollectionInfo::mutable_json_info() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.CollectionInfo.json_info) + return json_info_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const ::milvus::grpc::PartitionStat& CollectionInfo::partitions_stat(int index) const { - // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Get(index); +inline std::string* CollectionInfo::release_json_info() { + // @@protoc_insertion_point(field_release:milvus.grpc.CollectionInfo.json_info) + + return json_info_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::milvus::grpc::PartitionStat* CollectionInfo::add_partitions_stat() { - // @@protoc_insertion_point(field_add:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Add(); -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >& -CollectionInfo::partitions_stat() const { - // @@protoc_insertion_point(field_list:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_; +inline void CollectionInfo::set_allocated_json_info(std::string* json_info) { + if (json_info != nullptr) { + + } else { + + } + json_info_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), json_info); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.CollectionInfo.json_info) } // ------------------------------------------------------------------- -// VectorIdentity +// VectorsIdentity // string collection_name = 1; -inline void VectorIdentity::clear_collection_name() { +inline void VectorsIdentity::clear_collection_name() { collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const std::string& VectorIdentity::collection_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.VectorIdentity.collection_name) +inline const std::string& VectorsIdentity::collection_name() const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.GetNoArena(); } -inline void VectorIdentity::set_collection_name(const std::string& value) { +inline void VectorsIdentity::set_collection_name(const std::string& value) { collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(std::string&& value) { +inline void VectorsIdentity::set_collection_name(std::string&& value) { collection_name_.SetNoArena( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(const char* value) { +inline void VectorsIdentity::set_collection_name(const char* value) { GOOGLE_DCHECK(value != nullptr); collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_char:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(const char* value, size_t size) { +inline void VectorsIdentity::set_collection_name(const char* value, size_t size) { collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.VectorsIdentity.collection_name) } -inline std::string* VectorIdentity::mutable_collection_name() { +inline std::string* VectorsIdentity::mutable_collection_name() { - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline std::string* VectorIdentity::release_collection_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorIdentity.collection_name) +inline std::string* VectorsIdentity::release_collection_name() { + // @@protoc_insertion_point(field_release:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void VectorIdentity::set_allocated_collection_name(std::string* collection_name) { +inline void VectorsIdentity::set_allocated_collection_name(std::string* collection_name) { if (collection_name != nullptr) { } else { } collection_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), collection_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorsIdentity.collection_name) } -// int64 id = 2; -inline void VectorIdentity::clear_id() { - id_ = PROTOBUF_LONGLONG(0); +// repeated int64 id_array = 2; +inline int VectorsIdentity::id_array_size() const { + return id_array_.size(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 VectorIdentity::id() const { - // @@protoc_insertion_point(field_get:milvus.grpc.VectorIdentity.id) - return id_; +inline void VectorsIdentity::clear_id_array() { + id_array_.Clear(); } -inline void VectorIdentity::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - id_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.VectorIdentity.id) +inline ::PROTOBUF_NAMESPACE_ID::int64 VectorsIdentity::id_array(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsIdentity.id_array) + return id_array_.Get(index); +} +inline void VectorsIdentity::set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Set(index, value); + // @@protoc_insertion_point(field_set:milvus.grpc.VectorsIdentity.id_array) +} +inline void VectorsIdentity::add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Add(value); + // @@protoc_insertion_point(field_add:milvus.grpc.VectorsIdentity.id_array) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& +VectorsIdentity::id_array() const { + // @@protoc_insertion_point(field_list:milvus.grpc.VectorsIdentity.id_array) + return id_array_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +VectorsIdentity::mutable_id_array() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.VectorsIdentity.id_array) + return &id_array_; } // ------------------------------------------------------------------- -// VectorData +// VectorsData // .milvus.grpc.Status status = 1; -inline bool VectorData::has_status() const { +inline bool VectorsData::has_status() const { return this != internal_default_instance() && status_ != nullptr; } -inline const ::milvus::grpc::Status& VectorData::status() const { +inline const ::milvus::grpc::Status& VectorsData::status() const { const ::milvus::grpc::Status* p = status_; - // @@protoc_insertion_point(field_get:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsData.status) return p != nullptr ? *p : *reinterpret_cast( &::milvus::grpc::_Status_default_instance_); } -inline ::milvus::grpc::Status* VectorData::release_status() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorData.status) +inline ::milvus::grpc::Status* VectorsData::release_status() { + // @@protoc_insertion_point(field_release:milvus.grpc.VectorsData.status) ::milvus::grpc::Status* temp = status_; status_ = nullptr; return temp; } -inline ::milvus::grpc::Status* VectorData::mutable_status() { +inline ::milvus::grpc::Status* VectorsData::mutable_status() { if (status_ == nullptr) { auto* p = CreateMaybeMessage<::milvus::grpc::Status>(GetArenaNoVirtual()); status_ = p; } - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsData.status) return status_; } -inline void VectorData::set_allocated_status(::milvus::grpc::Status* status) { +inline void VectorsData::set_allocated_status(::milvus::grpc::Status* status) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_); @@ -11005,58 +10492,37 @@ inline void VectorData::set_allocated_status(::milvus::grpc::Status* status) { } status_ = status; - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorsData.status) } -// .milvus.grpc.RowRecord vector_data = 2; -inline bool VectorData::has_vector_data() const { - return this != internal_default_instance() && vector_data_ != nullptr; +// repeated .milvus.grpc.RowRecord vectors_data = 2; +inline int VectorsData::vectors_data_size() const { + return vectors_data_.size(); } -inline void VectorData::clear_vector_data() { - if (GetArenaNoVirtual() == nullptr && vector_data_ != nullptr) { - delete vector_data_; - } - vector_data_ = nullptr; +inline void VectorsData::clear_vectors_data() { + vectors_data_.Clear(); } -inline const ::milvus::grpc::RowRecord& VectorData::vector_data() const { - const ::milvus::grpc::RowRecord* p = vector_data_; - // @@protoc_insertion_point(field_get:milvus.grpc.VectorData.vector_data) - return p != nullptr ? *p : *reinterpret_cast( - &::milvus::grpc::_RowRecord_default_instance_); +inline ::milvus::grpc::RowRecord* VectorsData::mutable_vectors_data(int index) { + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Mutable(index); } -inline ::milvus::grpc::RowRecord* VectorData::release_vector_data() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorData.vector_data) - - ::milvus::grpc::RowRecord* temp = vector_data_; - vector_data_ = nullptr; - return temp; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >* +VectorsData::mutable_vectors_data() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.VectorsData.vectors_data) + return &vectors_data_; } -inline ::milvus::grpc::RowRecord* VectorData::mutable_vector_data() { - - if (vector_data_ == nullptr) { - auto* p = CreateMaybeMessage<::milvus::grpc::RowRecord>(GetArenaNoVirtual()); - vector_data_ = p; - } - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorData.vector_data) - return vector_data_; +inline const ::milvus::grpc::RowRecord& VectorsData::vectors_data(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Get(index); } -inline void VectorData::set_allocated_vector_data(::milvus::grpc::RowRecord* vector_data) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == nullptr) { - delete vector_data_; - } - if (vector_data) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr; - if (message_arena != submessage_arena) { - vector_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, vector_data, submessage_arena); - } - - } else { - - } - vector_data_ = vector_data; - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorData.vector_data) +inline ::milvus::grpc::RowRecord* VectorsData::add_vectors_data() { + // @@protoc_insertion_point(field_add:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Add(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >& +VectorsData::vectors_data() const { + // @@protoc_insertion_point(field_list:milvus.grpc.VectorsData.vectors_data) + return vectors_data_; } // ------------------------------------------------------------------- @@ -14255,10 +13721,6 @@ HIndexParam::extra_params() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/core/src/grpc/milvus.proto b/core/src/grpc/milvus.proto index 72ea11d942..12630803d8 100644 --- a/core/src/grpc/milvus.proto +++ b/core/src/grpc/milvus.proto @@ -108,7 +108,7 @@ message SearchInFilesParam { message SearchByIDParam { string collection_name = 1; repeated string partition_tag_array = 2; - int64 id = 3; + repeated int64 id_array = 3; int64 topk = 4; repeated KeyValuePair extra_params = 5; } @@ -180,48 +180,28 @@ message DeleteByIDParam { repeated int64 id_array = 2; } -/** - * @brief segment statistics - */ -message SegmentStat { - string segment_name = 1; - int64 row_count = 2; - string index_name = 3; - int64 data_size = 4; -} - -/** - * @brief collection statistics - */ -message PartitionStat { - string tag = 1; - int64 total_row_count = 2; - repeated SegmentStat segments_stat = 3; -} - /** * @brief collection information */ message CollectionInfo { Status status = 1; - int64 total_row_count = 2; - repeated PartitionStat partitions_stat = 3; + string json_info = 2; } /** - * @brief vector identity + * @brief vectors identity */ -message VectorIdentity { +message VectorsIdentity { string collection_name = 1; - int64 id = 2; + repeated int64 id_array = 2; } /** * @brief vector data */ -message VectorData { +message VectorsData { Status status = 1; - RowRecord vector_data = 2; + repeated RowRecord vectors_data = 2; } /** @@ -536,6 +516,15 @@ service MilvusService { */ rpc CreatePartition(PartitionParam) returns (Status) {} + /** + * @brief This method is used to test partition existence. + * + * @param PartitionParam, target partition. + * + * @return BoolReply + */ + rpc HasPartition(PartitionParam) returns (BoolReply) {} + /** * @brief This method is used to show partition information * @@ -564,13 +553,13 @@ service MilvusService { rpc Insert(InsertParam) returns (VectorIds) {} /** - * @brief This method is used to get vector data by id. + * @brief This method is used to get vectors data by id array. * - * @param VectorIdentity, target vector id. + * @param VectorsIdentity, target vector id array. * - * @return VectorData + * @return VectorsData */ - rpc GetVectorByID(VectorIdentity) returns (VectorData) {} + rpc GetVectorsByID(VectorsIdentity) returns (VectorsData) {} /** * @brief This method is used to get vector ids from a segment diff --git a/core/src/scheduler/task/SearchTask.cpp b/core/src/scheduler/task/SearchTask.cpp index f07a132306..b1ee3f00c2 100644 --- a/core/src/scheduler/task/SearchTask.cpp +++ b/core/src/scheduler/task/SearchTask.cpp @@ -306,9 +306,6 @@ XSearchTask::Execute() { } else if (!vectors.binary_data_.empty()) { s = index_engine_->Search(nq, vectors.binary_data_.data(), topk, extra_params, output_distance.data(), output_ids.data(), hybrid); - } else if (!vectors.id_array_.empty()) { - s = index_engine_->Search(nq, vectors.id_array_, topk, extra_params, output_distance.data(), - output_ids.data(), hybrid); } fiu_do_on("XSearchTask.Execute.search_fail", s = Status(SERVER_UNEXPECTED_ERROR, "")); diff --git a/core/src/server/delivery/RequestHandler.cpp b/core/src/server/delivery/RequestHandler.cpp index a15f3dbaa4..9eb978c4a4 100644 --- a/core/src/server/delivery/RequestHandler.cpp +++ b/core/src/server/delivery/RequestHandler.cpp @@ -28,9 +28,10 @@ #include "server/delivery/request/DropIndexRequest.h" #include "server/delivery/request/DropPartitionRequest.h" #include "server/delivery/request/FlushRequest.h" -#include "server/delivery/request/GetVectorByIDRequest.h" #include "server/delivery/request/GetVectorIDsRequest.h" +#include "server/delivery/request/GetVectorsByIDRequest.h" #include "server/delivery/request/HasCollectionRequest.h" +#include "server/delivery/request/HasPartitionRequest.h" #include "server/delivery/request/InsertRequest.h" #include "server/delivery/request/PreloadCollectionRequest.h" #include "server/delivery/request/SearchByIDRequest.h" @@ -93,9 +94,9 @@ RequestHandler::Insert(const std::shared_ptr& context, const std::strin } Status -RequestHandler::GetVectorByID(const std::shared_ptr& context, const std::string& collection_name, - const std::vector& ids, engine::VectorsData& vectors) { - BaseRequestPtr request_ptr = GetVectorByIDRequest::Create(context, collection_name, ids, vectors); +RequestHandler::GetVectorsByID(const std::shared_ptr& context, const std::string& collection_name, + const std::vector& ids, std::vector& vectors) { + BaseRequestPtr request_ptr = GetVectorsByIDRequest::Create(context, collection_name, ids, vectors); RequestScheduler::ExecRequest(request_ptr); return request_ptr->status(); @@ -120,7 +121,7 @@ RequestHandler::ShowCollections(const std::shared_ptr& context, std::ve Status RequestHandler::ShowCollectionInfo(const std::shared_ptr& context, const std::string& collection_name, - CollectionInfo& collection_info) { + std::string& collection_info) { BaseRequestPtr request_ptr = ShowCollectionInfoRequest::Create(context, collection_name, collection_info); RequestScheduler::ExecRequest(request_ptr); @@ -141,10 +142,10 @@ RequestHandler::Search(const std::shared_ptr& context, const std::strin Status RequestHandler::SearchByID(const std::shared_ptr& context, const std::string& collection_name, - int64_t vector_id, int64_t topk, const milvus::json& extra_params, + const std::vector& id_array, int64_t topk, const milvus::json& extra_params, const std::vector& partition_list, TopKQueryResult& result) { BaseRequestPtr request_ptr = - SearchByIDRequest::Create(context, collection_name, vector_id, topk, extra_params, partition_list, result); + SearchByIDRequest::Create(context, collection_name, id_array, topk, extra_params, partition_list, result); RequestScheduler::ExecRequest(request_ptr); return request_ptr->status(); @@ -219,6 +220,15 @@ RequestHandler::CreatePartition(const std::shared_ptr& context, const s return request_ptr->status(); } +Status +RequestHandler::HasPartition(const std::shared_ptr& context, const std::string& collection_name, + const std::string& tag, bool& has_partition) { + BaseRequestPtr request_ptr = HasPartitionRequest::Create(context, collection_name, tag, has_partition); + RequestScheduler::ExecRequest(request_ptr); + + return request_ptr->status(); +} + Status RequestHandler::ShowPartitions(const std::shared_ptr& context, const std::string& collection_name, std::vector& partitions) { diff --git a/core/src/server/delivery/RequestHandler.h b/core/src/server/delivery/RequestHandler.h index 32ca15078b..7fe414cf18 100644 --- a/core/src/server/delivery/RequestHandler.h +++ b/core/src/server/delivery/RequestHandler.h @@ -48,8 +48,8 @@ class RequestHandler { const std::string& partition_tag); Status - GetVectorByID(const std::shared_ptr& context, const std::string& collection_name, - const std::vector& ids, engine::VectorsData& vectors); + GetVectorsByID(const std::shared_ptr& context, const std::string& collection_name, + const std::vector& ids, std::vector& vectors); Status GetVectorIDs(const std::shared_ptr& context, const std::string& collection_name, @@ -60,7 +60,7 @@ class RequestHandler { Status ShowCollectionInfo(const std::shared_ptr& context, const std::string& collection_name, - CollectionInfo& collection_info); + std::string& collection_info); Status Search(const std::shared_ptr& context, const std::string& collection_name, @@ -69,9 +69,9 @@ class RequestHandler { TopKQueryResult& result); Status - SearchByID(const std::shared_ptr& context, const std::string& collection_name, int64_t vector_id, - int64_t topk, const milvus::json& extra_params, const std::vector& partition_list, - TopKQueryResult& result); + SearchByID(const std::shared_ptr& context, const std::string& collection_name, + const std::vector& id_array, int64_t topk, const milvus::json& extra_params, + const std::vector& partition_list, TopKQueryResult& result); Status DescribeCollection(const std::shared_ptr& context, const std::string& collection_name, @@ -100,6 +100,10 @@ class RequestHandler { CreatePartition(const std::shared_ptr& context, const std::string& collection_name, const std::string& tag); + Status + HasPartition(const std::shared_ptr& context, const std::string& collection_name, const std::string& tag, + bool& has_partition); + Status ShowPartitions(const std::shared_ptr& context, const std::string& collection_name, std::vector& partitions); diff --git a/core/src/server/delivery/request/BaseRequest.h b/core/src/server/delivery/request/BaseRequest.h index 86a8cb5a71..2ac52b86da 100644 --- a/core/src/server/delivery/request/BaseRequest.h +++ b/core/src/server/delivery/request/BaseRequest.h @@ -103,24 +103,6 @@ struct PartitionParam { } }; -struct SegmentStat { - std::string name_; - int64_t row_num_ = 0; - std::string index_name_; - int64_t data_size_ = 0; -}; - -struct PartitionStat { - std::string tag_; - int64_t total_row_num_ = 0; - std::vector segments_stat_; -}; - -struct CollectionInfo { - int64_t total_row_num_ = 0; - std::vector partitions_stat_; -}; - class BaseRequest { public: enum RequestType { diff --git a/core/src/server/delivery/request/GetVectorByIDRequest.cpp b/core/src/server/delivery/request/GetVectorsByIDRequest.cpp similarity index 67% rename from core/src/server/delivery/request/GetVectorByIDRequest.cpp rename to core/src/server/delivery/request/GetVectorsByIDRequest.cpp index 6d8934ae13..b85567ed6a 100644 --- a/core/src/server/delivery/request/GetVectorByIDRequest.cpp +++ b/core/src/server/delivery/request/GetVectorsByIDRequest.cpp @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -#include "server/delivery/request/GetVectorByIDRequest.h" +#include "server/delivery/request/GetVectorsByIDRequest.h" #include "server/DBWrapper.h" #include "utils/Log.h" #include "utils/TimeRecorder.h" @@ -27,9 +27,11 @@ namespace milvus { namespace server { -GetVectorByIDRequest::GetVectorByIDRequest(const std::shared_ptr& context, - const std::string& collection_name, const std::vector& ids, - engine::VectorsData& vectors) +constexpr uint64_t MAX_COUNT_RETURNED = 1000; + +GetVectorsByIDRequest::GetVectorsByIDRequest(const std::shared_ptr& context, + const std::string& collection_name, const std::vector& ids, + std::vector& vectors) : BaseRequest(context, BaseRequest::kGetVectorByID), collection_name_(collection_name), ids_(ids), @@ -37,28 +39,33 @@ GetVectorByIDRequest::GetVectorByIDRequest(const std::shared_ptr& context, - const std::string& collection_name, const std::vector& ids, - engine::VectorsData& vectors) { - return std::shared_ptr(new GetVectorByIDRequest(context, collection_name, ids, vectors)); +GetVectorsByIDRequest::Create(const std::shared_ptr& context, + const std::string& collection_name, const std::vector& ids, + std::vector& vectors) { + return std::shared_ptr(new GetVectorsByIDRequest(context, collection_name, ids, vectors)); } Status -GetVectorByIDRequest::OnExecute() { +GetVectorsByIDRequest::OnExecute() { try { - std::string hdr = "GetVectorByIDRequest(collection=" + collection_name_ + ")"; + std::string hdr = "GetVectorsByIDRequest(collection=" + collection_name_ + ")"; TimeRecorderAuto rc(hdr); // step 1: check arguments + if (ids_.empty()) { + return Status(SERVER_INVALID_ARGUMENT, "No vector id specified"); + } + + if (ids_.size() > MAX_COUNT_RETURNED) { + std::string msg = "Input id array size cannot exceed: " + std::to_string(MAX_COUNT_RETURNED); + return Status(SERVER_INVALID_ARGUMENT, msg); + } + auto status = ValidationUtil::ValidateCollectionName(collection_name_); if (!status.ok()) { return status; } - if (ids_.empty()) { - return Status(SERVER_INVALID_ARGUMENT, "No vector id specified"); - } - // only process root collection, ignore partition collection engine::meta::CollectionSchema collection_schema; collection_schema.collection_id_ = collection_name_; @@ -76,7 +83,7 @@ GetVectorByIDRequest::OnExecute() { } // step 2: get vector data, now only support get one id - return DBWrapper::DB()->GetVectorByID(collection_name_, ids_[0], vectors_); + return DBWrapper::DB()->GetVectorsByID(collection_name_, ids_, vectors_); } catch (std::exception& ex) { return Status(SERVER_UNEXPECTED_ERROR, ex.what()); } diff --git a/core/src/server/delivery/request/GetVectorByIDRequest.h b/core/src/server/delivery/request/GetVectorsByIDRequest.h similarity index 75% rename from core/src/server/delivery/request/GetVectorByIDRequest.h rename to core/src/server/delivery/request/GetVectorsByIDRequest.h index c07ae6b12d..3b805ef4de 100644 --- a/core/src/server/delivery/request/GetVectorByIDRequest.h +++ b/core/src/server/delivery/request/GetVectorsByIDRequest.h @@ -26,15 +26,15 @@ namespace milvus { namespace server { -class GetVectorByIDRequest : public BaseRequest { +class GetVectorsByIDRequest : public BaseRequest { public: static BaseRequestPtr Create(const std::shared_ptr& context, const std::string& collection_name, - const std::vector& ids, engine::VectorsData& vectors); + const std::vector& ids, std::vector& vectors); protected: - GetVectorByIDRequest(const std::shared_ptr& context, const std::string& collection_name, - const std::vector& ids, engine::VectorsData& vectors); + GetVectorsByIDRequest(const std::shared_ptr& context, const std::string& collection_name, + const std::vector& ids, std::vector& vectors); Status OnExecute() override; @@ -42,7 +42,7 @@ class GetVectorByIDRequest : public BaseRequest { private: std::string collection_name_; std::vector ids_; - engine::VectorsData& vectors_; + std::vector& vectors_; }; } // namespace server diff --git a/core/src/server/delivery/request/HasPartitionRequest.cpp b/core/src/server/delivery/request/HasPartitionRequest.cpp new file mode 100644 index 0000000000..7e823aa236 --- /dev/null +++ b/core/src/server/delivery/request/HasPartitionRequest.cpp @@ -0,0 +1,74 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#include "server/delivery/request/HasPartitionRequest.h" +#include "server/DBWrapper.h" +#include "utils/Log.h" +#include "utils/TimeRecorder.h" +#include "utils/ValidationUtil.h" + +#include +#include +#include + +namespace milvus { +namespace server { + +HasPartitionRequest::HasPartitionRequest(const std::shared_ptr& context, + const std::string& collection_name, const std::string& tag, + bool& has_partition) + : BaseRequest(context, BaseRequest::kHasCollection), + collection_name_(collection_name), + partition_tag_(tag), + has_partition_(has_partition) { +} + +BaseRequestPtr +HasPartitionRequest::Create(const std::shared_ptr& context, const std::string& collection_name, + const std::string& tag, bool& has_partition) { + return std::shared_ptr(new HasPartitionRequest(context, collection_name, tag, has_partition)); +} + +Status +HasPartitionRequest::OnExecute() { + try { + std::string hdr = "HasPartitionRequest(collection=" + collection_name_ + " tag=" + partition_tag_ + ")"; + TimeRecorderAuto rc(hdr); + + has_partition_ = false; + + // step 1: check arguments + auto status = ValidationUtil::ValidateCollectionName(collection_name_); + if (!status.ok()) { + return status; + } + + std::vector schema_array; + status = DBWrapper::DB()->ShowPartitions(collection_name_, schema_array); + if (!status.ok()) { + return status; + } + + for (auto& schema : schema_array) { + if (schema.partition_tag_ == partition_tag_) { + has_partition_ = true; + break; + } + } + } catch (std::exception& ex) { + return Status(SERVER_UNEXPECTED_ERROR, ex.what()); + } + + return Status::OK(); +} + +} // namespace server +} // namespace milvus diff --git a/core/src/server/delivery/request/HasPartitionRequest.h b/core/src/server/delivery/request/HasPartitionRequest.h new file mode 100644 index 0000000000..7e1e1412e6 --- /dev/null +++ b/core/src/server/delivery/request/HasPartitionRequest.h @@ -0,0 +1,42 @@ +// Copyright (C) 2019-2020 Zilliz. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under the License. + +#pragma once + +#include "server/delivery/request/BaseRequest.h" + +#include +#include + +namespace milvus { +namespace server { + +class HasPartitionRequest : public BaseRequest { + public: + static BaseRequestPtr + Create(const std::shared_ptr& context, const std::string& collection_name, + const std::string& tag, bool& has_partition); + + protected: + HasPartitionRequest(const std::shared_ptr& context, const std::string& collection_name, + const std::string& tag, bool& has_partition); + + Status + OnExecute() override; + + private: + std::string collection_name_; + std::string partition_tag_; + bool& has_partition_; +}; + +} // namespace server +} // namespace milvus diff --git a/core/src/server/delivery/request/SearchByIDRequest.cpp b/core/src/server/delivery/request/SearchByIDRequest.cpp index b5d4360324..c8490055ac 100644 --- a/core/src/server/delivery/request/SearchByIDRequest.cpp +++ b/core/src/server/delivery/request/SearchByIDRequest.cpp @@ -34,12 +34,12 @@ namespace milvus { namespace server { SearchByIDRequest::SearchByIDRequest(const std::shared_ptr& context, - const std::string& collection_name, int64_t vector_id, int64_t topk, - const milvus::json& extra_params, const std::vector& partition_list, - TopKQueryResult& result) + const std::string& collection_name, const std::vector& id_array, + int64_t topk, const milvus::json& extra_params, + const std::vector& partition_list, TopKQueryResult& result) : BaseRequest(context, BaseRequest::kSearchByID), collection_name_(collection_name), - vector_id_(vector_id), + id_array_(id_array), topk_(topk), extra_params_(extra_params), partition_list_(partition_list), @@ -48,23 +48,26 @@ SearchByIDRequest::SearchByIDRequest(const std::shared_ptr& context, const std::string& collection_name, - int64_t vector_id, int64_t topk, const milvus::json& extra_params, + const std::vector& id_array, int64_t topk, const milvus::json& extra_params, const std::vector& partition_list, TopKQueryResult& result) { return std::shared_ptr( - new SearchByIDRequest(context, collection_name, vector_id, topk, extra_params, partition_list, result)); + new SearchByIDRequest(context, collection_name, id_array, topk, extra_params, partition_list, result)); } Status SearchByIDRequest::OnExecute() { try { - auto pre_query_ctx = context_->Child("Pre query"); + milvus::server::ContextChild pre_tracer(context_, "Pre query"); - std::string hdr = "SearchByIDRequest(collection=" + collection_name_ + ", id=" + std::to_string(vector_id_) + - ", k=" + std::to_string(topk_) + ", extra_params=" + extra_params_.dump() + ")"; + std::string hdr = "SearchByIDRequest(collection=" + collection_name_ + ", k=" + std::to_string(topk_) + + ", extra_params=" + extra_params_.dump() + ")"; TimeRecorder rc(hdr); - // step 1: check empty id + // step 1: check empty id array + if (id_array_.empty()) { + return Status(SERVER_INVALID_ARGUMENT, "No vector id specified"); + } // step 2: check collection name auto status = ValidationUtil::ValidateCollectionName(collection_name_); @@ -140,10 +143,10 @@ SearchByIDRequest::OnExecute() { ProfilerStart(fname.c_str()); #endif - pre_query_ctx->GetTraceContext()->GetSpan()->Finish(); + pre_tracer.Finish(); - status = DBWrapper::DB()->QueryByID(context_, collection_name_, partition_list_, (size_t)topk_, extra_params_, - vector_id_, result_ids, result_distances); + status = DBWrapper::DB()->QueryByIDs(context_, collection_name_, partition_list_, (size_t)topk_, extra_params_, + id_array_, result_ids, result_distances); #ifdef MILVUS_ENABLE_PROFILING ProfilerStop(); @@ -158,14 +161,11 @@ SearchByIDRequest::OnExecute() { return Status::OK(); // empty collection } - auto post_query_ctx = context_->Child("Constructing result"); - // step 9: construct result array - result_.row_num_ = 1; - result_.distance_list_ = result_distances; - result_.id_list_ = result_ids; - - post_query_ctx->GetTraceContext()->GetSpan()->Finish(); + milvus::server::ContextChild tracer(context_, "Constructing result"); + result_.row_num_ = id_array_.size(); + result_.distance_list_.swap(result_distances); + result_.id_list_.swap(result_ids); rc.RecordSection("construct result and send"); rc.ElapseFromBegin("totally cost"); diff --git a/core/src/server/delivery/request/SearchByIDRequest.h b/core/src/server/delivery/request/SearchByIDRequest.h index b346873bef..a83361c170 100644 --- a/core/src/server/delivery/request/SearchByIDRequest.h +++ b/core/src/server/delivery/request/SearchByIDRequest.h @@ -30,12 +30,12 @@ class SearchByIDRequest : public BaseRequest { public: static BaseRequestPtr Create(const std::shared_ptr& context, const std::string& collection_name, - int64_t vector_id, int64_t topk, const milvus::json& extra_params, + const std::vector& id_array, int64_t topk, const milvus::json& extra_params, const std::vector& partition_list, TopKQueryResult& result); protected: SearchByIDRequest(const std::shared_ptr& context, const std::string& collection_name, - int64_t vector_id, int64_t topk, const milvus::json& extra_params, + const std::vector& id_array, int64_t topk, const milvus::json& extra_params, const std::vector& partition_list, TopKQueryResult& result); Status @@ -43,7 +43,7 @@ class SearchByIDRequest : public BaseRequest { private: const std::string collection_name_; - const int64_t vector_id_; + std::vector id_array_; int64_t topk_; milvus::json extra_params_; const std::vector partition_list_; diff --git a/core/src/server/delivery/request/ShowCollectionInfoRequest.cpp b/core/src/server/delivery/request/ShowCollectionInfoRequest.cpp index 05bb4a92ae..1f1acbfa7e 100644 --- a/core/src/server/delivery/request/ShowCollectionInfoRequest.cpp +++ b/core/src/server/delivery/request/ShowCollectionInfoRequest.cpp @@ -27,25 +27,8 @@ namespace milvus { namespace server { -void -ConstructPartitionStat(const engine::PartitionStat& partition_stat, PartitionStat& req_partition_stat) { - int64_t row_count = 0; - req_partition_stat.tag_ = partition_stat.tag_; - for (auto& seg : partition_stat.segments_stat_) { - SegmentStat seg_stat; - seg_stat.name_ = seg.name_; - seg_stat.row_num_ = seg.row_count_; - seg_stat.index_name_ = seg.index_name_; - seg_stat.data_size_ = seg.data_size_; - req_partition_stat.segments_stat_.emplace_back(seg_stat); - row_count += seg.row_count_; - } - req_partition_stat.total_row_num_ = row_count; -} - ShowCollectionInfoRequest::ShowCollectionInfoRequest(const std::shared_ptr& context, - const std::string& collection_name, - CollectionInfo& collection_info) + const std::string& collection_name, std::string& collection_info) : BaseRequest(context, BaseRequest::kShowCollectionInfo), collection_name_(collection_name), collection_info_(collection_info) { @@ -53,7 +36,7 @@ ShowCollectionInfoRequest::ShowCollectionInfoRequest(const std::shared_ptr& context, - const std::string& collection_name, CollectionInfo& collection_info) { + const std::string& collection_name, std::string& collection_info) { return std::shared_ptr(new ShowCollectionInfoRequest(context, collection_name, collection_info)); } @@ -86,24 +69,11 @@ ShowCollectionInfoRequest::OnExecute() { } // step 3: get partitions - engine::CollectionInfo collection_info; - status = DBWrapper::DB()->GetCollectionInfo(collection_name_, collection_info); + status = DBWrapper::DB()->GetCollectionInfo(collection_name_, collection_info_); if (!status.ok()) { return status; } - // step 4: construct partitions info - int64_t total_row_count = 0; - collection_info_.partitions_stat_.reserve(collection_info.partitions_stat_.size()); - for (auto& partition : collection_info.partitions_stat_) { - PartitionStat partition_stat; - ConstructPartitionStat(partition, partition_stat); - total_row_count += partition_stat.total_row_num_; - collection_info_.partitions_stat_.emplace_back(partition_stat); - } - - collection_info_.total_row_num_ = total_row_count; - return Status::OK(); } diff --git a/core/src/server/delivery/request/ShowCollectionInfoRequest.h b/core/src/server/delivery/request/ShowCollectionInfoRequest.h index 940f217bd2..c6982bd289 100644 --- a/core/src/server/delivery/request/ShowCollectionInfoRequest.h +++ b/core/src/server/delivery/request/ShowCollectionInfoRequest.h @@ -30,18 +30,18 @@ class ShowCollectionInfoRequest : public BaseRequest { public: static BaseRequestPtr Create(const std::shared_ptr& context, const std::string& collection_name, - CollectionInfo& collection_info); + std::string& collection_info); protected: ShowCollectionInfoRequest(const std::shared_ptr& context, - const std::string& collection_name, CollectionInfo& collection_info); + const std::string& collection_name, std::string& collection_info); Status OnExecute() override; private: const std::string collection_name_; - CollectionInfo& collection_info_; + std::string& collection_info_; }; } // namespace server diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 84bdc4c592..1d375a186b 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -129,38 +129,6 @@ ConstructResults(const TopKQueryResult& result, ::milvus::grpc::TopKQueryResult* result.distance_list_.size() * sizeof(float)); } -void -ConstructPartitionStat(const PartitionStat& partition_stat, ::milvus::grpc::PartitionStat* grpc_partition_stat) { - if (!grpc_partition_stat) { - return; - } - - grpc_partition_stat->set_total_row_count(partition_stat.total_row_num_); - grpc_partition_stat->set_tag(partition_stat.tag_); - - for (auto& seg_stat : partition_stat.segments_stat_) { - ::milvus::grpc::SegmentStat* grpc_seg_stat = grpc_partition_stat->mutable_segments_stat()->Add(); - grpc_seg_stat->set_row_count(seg_stat.row_num_); - grpc_seg_stat->set_segment_name(seg_stat.name_); - grpc_seg_stat->set_index_name(seg_stat.index_name_); - grpc_seg_stat->set_data_size(seg_stat.data_size_); - } -} - -void -ConstructCollectionInfo(const CollectionInfo& collection_info, ::milvus::grpc::CollectionInfo* response) { - if (!response) { - return; - } - - response->set_total_row_count(collection_info.total_row_num_); - - for (auto& partition_stat : collection_info.partitions_stat_) { - ::milvus::grpc::PartitionStat* grpc_partiton_stat = response->mutable_partitions_stat()->Add(); - ConstructPartitionStat(partition_stat, grpc_partiton_stat); - } -} - } // namespace namespace { @@ -407,24 +375,33 @@ GrpcRequestHandler::Insert(::grpc::ServerContext* context, const ::milvus::grpc: } ::grpc::Status -GrpcRequestHandler::GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, - ::milvus::grpc::VectorData* response) { +GrpcRequestHandler::GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, + ::milvus::grpc::VectorsData* response) { CHECK_NULLPTR_RETURN(request); - std::vector vector_ids = {request->id()}; - engine::VectorsData vectors; - Status status = - request_handler_.GetVectorByID(GetContext(context), request->collection_name(), vector_ids, vectors); - - if (!vectors.float_data_.empty()) { - response->mutable_vector_data()->mutable_float_data()->Resize(vectors.float_data_.size(), 0); - memcpy(response->mutable_vector_data()->mutable_float_data()->mutable_data(), vectors.float_data_.data(), - vectors.float_data_.size() * sizeof(float)); - } else if (!vectors.binary_data_.empty()) { - response->mutable_vector_data()->mutable_binary_data()->resize(vectors.binary_data_.size()); - memcpy(response->mutable_vector_data()->mutable_binary_data()->data(), vectors.binary_data_.data(), - vectors.binary_data_.size() * sizeof(uint8_t)); + std::vector vector_ids; + vector_ids.reserve(request->id_array_size()); + for (int i = 0; i < request->id_array_size(); i++) { + vector_ids.push_back(request->id_array(i)); } + + std::vector vectors; + Status status = + request_handler_.GetVectorsByID(GetContext(context), request->collection_name(), vector_ids, vectors); + + for (auto& vector : vectors) { + auto grpc_data = response->add_vectors_data(); + if (!vector.float_data_.empty()) { + grpc_data->mutable_float_data()->Resize(vector.float_data_.size(), 0); + memcpy(grpc_data->mutable_float_data()->mutable_data(), vector.float_data_.data(), + vector.float_data_.size() * sizeof(float)); + } else if (!vector.binary_data_.empty()) { + grpc_data->mutable_binary_data()->resize(vector.binary_data_.size()); + memcpy(grpc_data->mutable_binary_data()->data(), vector.binary_data_.data(), + vector.binary_data_.size() * sizeof(uint8_t)); + } + } + SET_RESPONSE(response->mutable_status(), status, context); return ::grpc::Status::OK; @@ -502,7 +479,13 @@ GrpcRequestHandler::SearchByID(::grpc::ServerContext* context, const ::milvus::g partitions.emplace_back(partition); } - // step 2: parse extra parameters + // step 2: partition tags + std::vector id_array; + for (int i = 0; i < request->id_array_size(); i++) { + id_array.push_back(request->id_array(i)); + } + + // step 3: parse extra parameters milvus::json json_params; for (int i = 0; i < request->extra_params_size(); i++) { const ::milvus::grpc::KeyValuePair& extra = request->extra_params(i); @@ -511,12 +494,12 @@ GrpcRequestHandler::SearchByID(::grpc::ServerContext* context, const ::milvus::g } } - // step 3: search vectors + // step 4: search vectors TopKQueryResult result; - Status status = request_handler_.SearchByID(GetContext(context), request->collection_name(), request->id(), + Status status = request_handler_.SearchByID(GetContext(context), request->collection_name(), id_array, request->topk(), json_params, partitions, result); - // step 4: construct and return result + // step 5: construct and return result ConstructResults(result, response); SET_RESPONSE(response->mutable_status(), status, context); @@ -618,10 +601,10 @@ GrpcRequestHandler::ShowCollectionInfo(::grpc::ServerContext* context, const ::m ::milvus::grpc::CollectionInfo* response) { CHECK_NULLPTR_RETURN(request); - CollectionInfo collection_info; + std::string collection_info; Status status = request_handler_.ShowCollectionInfo(GetContext(context), request->collection_name(), collection_info); - ConstructCollectionInfo(collection_info, response); + response->set_json_info(collection_info); SET_RESPONSE(response->mutable_status(), status, context); return ::grpc::Status::OK; @@ -708,6 +691,21 @@ GrpcRequestHandler::CreatePartition(::grpc::ServerContext* context, const ::milv return ::grpc::Status::OK; } +::grpc::Status +GrpcRequestHandler::HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, + ::milvus::grpc::BoolReply* response) { + CHECK_NULLPTR_RETURN(request); + + bool has_collection = false; + + Status status = + request_handler_.HasPartition(GetContext(context), request->collection_name(), request->tag(), has_collection); + response->set_bool_reply(has_collection); + SET_RESPONSE(response->mutable_status(), status, context); + + return ::grpc::Status::OK; +} + ::grpc::Status GrpcRequestHandler::ShowPartitions(::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response) { diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.h b/core/src/server/grpc_impl/GrpcRequestHandler.h index cd7906dfa5..20736db96c 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.h +++ b/core/src/server/grpc_impl/GrpcRequestHandler.h @@ -180,6 +180,17 @@ class GrpcRequestHandler final : public ::milvus::grpc::MilvusService::Service, ::grpc::Status CreatePartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response) override; + + // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + ::grpc::Status + HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, + ::milvus::grpc::BoolReply* response); + // * // @brief This method is used to show partition information // @@ -208,14 +219,15 @@ class GrpcRequestHandler final : public ::milvus::grpc::MilvusService::Service, Insert(::grpc::ServerContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response) override; // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData + // @return VectorsData ::grpc::Status - GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, - ::milvus::grpc::VectorData* response); + GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, + ::milvus::grpc::VectorsData* response); + // * // @brief This method is used to get vector ids from a segment // diff --git a/core/src/server/web_impl/handler/WebRequestHandler.cpp b/core/src/server/web_impl/handler/WebRequestHandler.cpp index 6748cd66f7..7e633f8b9b 100644 --- a/core/src/server/web_impl/handler/WebRequestHandler.cpp +++ b/core/src/server/web_impl/handler/WebRequestHandler.cpp @@ -136,32 +136,6 @@ WebRequestHandler::AddStatusToJson(nlohmann::json& json, int64_t code, const std json["message"] = msg; } -Status -WebRequestHandler::ParseSegmentStat(const milvus::server::SegmentStat& seg_stat, nlohmann::json& json) { - json["segment_name"] = seg_stat.name_; - json["index"] = seg_stat.index_name_; - json["count"] = seg_stat.row_num_; - json["size"] = seg_stat.data_size_; - - return Status::OK(); -} - -Status -WebRequestHandler::ParsePartitionStat(const milvus::server::PartitionStat& par_stat, nlohmann::json& json) { - json["partition_tag"] = par_stat.tag_; - json["count"] = par_stat.total_row_num_; - - std::vector seg_stat_json; - for (auto& seg : par_stat.segments_stat_) { - nlohmann::json seg_json; - ParseSegmentStat(seg, seg_json); - seg_stat_json.push_back(seg_json); - } - json["segments_stat"] = seg_stat_json; - - return Status::OK(); -} - Status WebRequestHandler::IsBinaryTable(const std::string& collection_name, bool& bin) { CollectionSchema schema; @@ -241,19 +215,14 @@ WebRequestHandler::GetTableMetaInfo(const std::string& collection_name, nlohmann Status WebRequestHandler::GetTableStat(const std::string& collection_name, nlohmann::json& json_out) { - struct CollectionInfo collection_info; + std::string collection_info; auto status = request_handler_.ShowCollectionInfo(context_ptr_, collection_name, collection_info); if (status.ok()) { - json_out["count"] = collection_info.total_row_num_; - - std::vector par_stat_json; - for (auto& par : collection_info.partitions_stat_) { - nlohmann::json par_json; - ParsePartitionStat(par, par_json); - par_stat_json.push_back(par_json); + try { + json_out = nlohmann::json::parse(collection_info); + } catch (std::exception& e) { } - json_out["partitions_stat"] = par_stat_json; } return status; @@ -846,18 +815,13 @@ Status WebRequestHandler::GetVectorsByIDs(const std::string& collection_name, const std::vector& ids, nlohmann::json& json_out) { std::vector vector_batch; - for (size_t i = 0; i < ids.size(); i++) { - auto vec_ids = std::vector(ids.begin() + i, ids.begin() + i + 1); - engine::VectorsData vectors_data; - auto status = request_handler_.GetVectorByID(context_ptr_, collection_name, vec_ids, vectors_data); - if (!status.ok()) { - return status; - } - vector_batch.push_back(vectors_data); + auto status = request_handler_.GetVectorsByID(context_ptr_, collection_name, ids, vector_batch); + if (!status.ok()) { + return status; } bool bin; - auto status = IsBinaryTable(collection_name, bin); + status = IsBinaryTable(collection_name, bin); if (!status.ok()) { return status; } @@ -1492,52 +1456,14 @@ WebRequestHandler::ShowSegments(const OString& collection_name, const OQueryPara tag = query_params.get("partition_tag")->std_str(); } - CollectionInfo info; + std::string info; status = request_handler_.ShowCollectionInfo(context_ptr_, collection_name->std_str(), info); if (!status.ok()) { ASSIGN_RETURN_STATUS_DTO(status) } - typedef std::pair Pair; - std::vector segments; - for (auto& par_stat : info.partitions_stat_) { - if (!(all_required || tag.empty() || tag == par_stat.tag_)) { - continue; - } - for (auto& seg_stat : par_stat.segments_stat_) { - auto segment_stat = std::pair(par_stat.tag_, seg_stat); - segments.push_back(segment_stat); - } - } - - auto compare = [](Pair& a, Pair& b) -> bool { return a.second.name_ >= b.second.name_; }; - std::sort(segments.begin(), segments.end(), compare); - - int64_t size = segments.size(); - int64_t iter_begin = 0; - int64_t iter_end = size; - if (!all_required) { - iter_begin = std::min(size, offset); - iter_end = std::min(size, offset + page_size); - } - - nlohmann::json result_json; - if (segments.empty()) { - result_json["segments"] = std::vector(); - } else { - nlohmann::json segs_json; - for (auto iter = iter_begin; iter < iter_end; iter++) { - nlohmann::json seg_json; - ParseSegmentStat(segments.at(iter).second, seg_json); - seg_json["partition_tag"] = segments.at(iter).first; - segs_json.push_back(seg_json); - } - result_json["segments"] = segs_json; - } - - result_json["count"] = size; + nlohmann::json result_json = nlohmann::json::parse(info); AddStatusToJson(result_json, status.code(), status.message()); - response = result_json.dump().c_str(); ASSIGN_RETURN_STATUS_DTO(status) diff --git a/core/src/server/web_impl/handler/WebRequestHandler.h b/core/src/server/web_impl/handler/WebRequestHandler.h index c2f7a8f9bd..6c1c689a30 100644 --- a/core/src/server/web_impl/handler/WebRequestHandler.h +++ b/core/src/server/web_impl/handler/WebRequestHandler.h @@ -91,12 +91,6 @@ class WebRequestHandler { void AddStatusToJson(nlohmann::json& json, int64_t code, const std::string& msg); - Status - ParseSegmentStat(const SegmentStat& seg_stat, nlohmann::json& json); - - Status - ParsePartitionStat(const PartitionStat& par_stat, nlohmann::json& json); - Status IsBinaryTable(const std::string& collection_name, bool& bin); diff --git a/core/unittest/db/test_db.cpp b/core/unittest/db/test_db.cpp index 48ae801daf..5c0601c055 100644 --- a/core/unittest/db/test_db.cpp +++ b/core/unittest/db/test_db.cpp @@ -33,7 +33,7 @@ namespace { static const char* COLLECTION_NAME = "test_group"; static constexpr int64_t COLLECTION_DIM = 256; static constexpr int64_t VECTOR_COUNT = 25000; -static constexpr int64_t INSERT_LOOP = 1000; +static constexpr int64_t INSERT_LOOP = 100; static constexpr int64_t SECONDS_EACH_HOUR = 3600; static constexpr int64_t DAY_SECONDS = 24 * 60 * 60; @@ -544,8 +544,9 @@ TEST_F(DBTest, SHUTDOWN_TEST) { stat = db_->Compact(collection_info.collection_id_); ASSERT_FALSE(stat.ok()); - milvus::engine::VectorsData vector; - stat = db_->GetVectorByID(collection_info.collection_id_, 0, vector); + std::vector vectors; + std::vector id_array = {0}; + stat = db_->GetVectorsByID(collection_info.collection_id_, id_array, vectors); ASSERT_FALSE(stat.ok()); stat = db_->PreloadCollection(collection_info.collection_id_); @@ -1025,23 +1026,25 @@ TEST_F(DBTest2, SHOW_COLLECTION_INFO_TEST) { ASSERT_TRUE(stat.ok()); { - milvus::engine::CollectionInfo collection_info; + std::string collection_info; stat = db_->GetCollectionInfo(collection_name, collection_info); ASSERT_TRUE(stat.ok()); int64_t row_count = 0; - for (auto& part : collection_info.partitions_stat_) { - row_count = 0; - for (auto& stat : part.segments_stat_) { - row_count += stat.row_count_; - ASSERT_EQ(stat.index_name_, "IDMAP"); - ASSERT_GT(stat.data_size_, 0); - } - if (part.tag_ == milvus::engine::DEFAULT_PARTITON_TAG) { - ASSERT_EQ(row_count, VECTOR_COUNT); - } else { - ASSERT_EQ(row_count, INSERT_BATCH); - } - } + + nlohmann::json json_info = nlohmann::json::parse(collection_info); +// for (auto& part : collection_info.partitions_stat_) { +// row_count = 0; +// for (auto& stat : part.segments_stat_) { +// row_count += stat.row_count_; +// ASSERT_EQ(stat.index_name_, "IDMAP"); +// ASSERT_GT(stat.data_size_, 0); +// } +// if (part.tag_ == milvus::engine::DEFAULT_PARTITON_TAG) { +// ASSERT_EQ(row_count, VECTOR_COUNT); +// } else { +// ASSERT_EQ(row_count, INSERT_BATCH); +// } +// } } } @@ -1184,8 +1187,9 @@ TEST_F(DBTest2, FLUSH_NON_EXISTING_COLLECTION) { } TEST_F(DBTest2, GET_VECTOR_NON_EXISTING_COLLECTION) { - milvus::engine::VectorsData vector; - auto status = db_->GetVectorByID("non_existing", 0, vector); + std::vector vectors; + std::vector id_array = {0}; + auto status = db_->GetVectorsByID("non_existing", id_array, vectors); ASSERT_FALSE(status.ok()); } @@ -1203,19 +1207,32 @@ TEST_F(DBTest2, GET_VECTOR_BY_ID_TEST) { stat = db_->CreatePartition(collection_info.collection_id_, partition_name, partition_tag); ASSERT_TRUE(stat.ok()); + std::vector vectors; + std::vector empty_array; + stat = db_->GetVectorsByID(COLLECTION_NAME, empty_array, vectors); + ASSERT_FALSE(stat.ok()); + stat = db_->InsertVectors(collection_info.collection_id_, partition_tag, qxb); ASSERT_TRUE(stat.ok()); db_->Flush(collection_info.collection_id_); - milvus::engine::VectorsData vector_data; - stat = db_->GetVectorByID(COLLECTION_NAME, qxb.id_array_[0], vector_data); + stat = db_->GetVectorsByID(COLLECTION_NAME, qxb.id_array_, vectors); ASSERT_TRUE(stat.ok()); - ASSERT_EQ(vector_data.vector_count_, 1); - ASSERT_EQ(vector_data.float_data_.size(), COLLECTION_DIM); + ASSERT_EQ(vectors.size(), qxb.id_array_.size()); + ASSERT_EQ(vectors[0].float_data_.size(), COLLECTION_DIM); for (int64_t i = 0; i < COLLECTION_DIM; i++) { - ASSERT_FLOAT_EQ(vector_data.float_data_[i], qxb.float_data_[i]); + ASSERT_FLOAT_EQ(vectors[0].float_data_[i], qxb.float_data_[i]); + } + + std::vector invalid_array = {-1, -1}; + stat = db_->GetVectorsByID(COLLECTION_NAME, empty_array, vectors); + ASSERT_TRUE(stat.ok()); + for (auto& vector : vectors) { + ASSERT_EQ(vector.vector_count_, 0); + ASSERT_TRUE(vector.float_data_.empty()); + ASSERT_TRUE(vector.binary_data_.empty()); } } @@ -1242,13 +1259,14 @@ TEST_F(DBTest2, GET_VECTOR_IDS_TEST) { db_->Flush(); - milvus::engine::CollectionInfo collection_info; + std::string collection_info; stat = db_->GetCollectionInfo(COLLECTION_NAME, collection_info); ASSERT_TRUE(stat.ok()); - ASSERT_EQ(collection_info.partitions_stat_.size(), 2UL); + ASSERT_FALSE(collection_info.empty()); - std::string default_segment = collection_info.partitions_stat_[0].segments_stat_[0].name_; - std::string partition_segment = collection_info.partitions_stat_[1].segments_stat_[0].name_; + auto json = nlohmann::json::parse(collection_info); + std::string default_segment = json["partitions"].at(0)["segments"].at(0)["name"]; + std::string partition_segment = json["partitions"].at(1)["segments"].at(0)["name"]; milvus::engine::IDNumbers vector_ids; stat = db_->GetVectorIDs(COLLECTION_NAME, default_segment, vector_ids); diff --git a/core/unittest/db/test_db_mysql.cpp b/core/unittest/db/test_db_mysql.cpp index 44a6669508..1139314f73 100644 --- a/core/unittest/db/test_db_mysql.cpp +++ b/core/unittest/db/test_db_mysql.cpp @@ -27,7 +27,7 @@ namespace { static const char* COLLECTION_NAME = "test_group"; static constexpr int64_t COLLECTION_DIM = 256; static constexpr int64_t VECTOR_COUNT = 25000; -static constexpr int64_t INSERT_LOOP = 1000; +static constexpr int64_t INSERT_LOOP = 100; milvus::engine::meta::CollectionSchema BuildCollectionSchema() { diff --git a/core/unittest/db/test_delete.cpp b/core/unittest/db/test_delete.cpp index 2db0bd8728..194d55913e 100644 --- a/core/unittest/db/test_delete.cpp +++ b/core/unittest/db/test_delete.cpp @@ -125,7 +125,7 @@ TEST_F(DeleteTest, delete_in_mem) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, - {{"nprobe", nprobe}}, search, result_ids, result_distances); + {{"nprobe", nprobe}}, search, result_ids, result_distances); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); ASSERT_GT(result_distances[0], 1); @@ -194,7 +194,13 @@ TEST_F(DeleteTest, delete_on_disk) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, search, result_ids, result_distances); + collection_info.collection_id_, + tags, + topk, + {{"nprobe", nprobe}}, + search, + result_ids, + result_distances); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); ASSERT_GT(result_distances[0], 1); @@ -257,7 +263,13 @@ TEST_F(DeleteTest, delete_multiple_times) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, search, result_ids, result_distances); + collection_info.collection_id_, + tags, + topk, + {{"nprobe", nprobe}}, + search, + result_ids, + result_distances); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); ASSERT_GT(result_distances[0], 1); @@ -333,7 +345,13 @@ TEST_F(DeleteTest, delete_before_create_index) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, search, result_ids, result_distances); + collection_info.collection_id_, + tags, + topk, + {{"nprobe", nprobe}}, + search, + result_ids, + result_distances); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); ASSERT_GT(result_distances[0], 1); @@ -410,7 +428,13 @@ TEST_F(DeleteTest, delete_with_index) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, search, result_ids, result_distances); + collection_info.collection_id_, + tags, + topk, + {{"nprobe", nprobe}}, + search, + result_ids, + result_distances); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); ASSERT_GT(result_distances[0], 1); @@ -487,7 +511,13 @@ TEST_F(DeleteTest, delete_multiple_times_with_index) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, search, result_ids, result_distances); + collection_info.collection_id_, + tags, + topk, + {{"nprobe", nprobe}}, + search, + result_ids, + result_distances); ASSERT_TRUE(stat.ok()); ASSERT_NE(result_ids[0], pair.first); // ASSERT_LT(result_distances[0], 1e-4); @@ -534,7 +564,7 @@ TEST_F(DeleteTest, delete_single_vector) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, json_params, xb, result_ids, result_distances); + collection_info.collection_id_, tags, topk, json_params, xb, result_ids, result_distances); ASSERT_TRUE(result_ids.empty()); ASSERT_TRUE(result_distances.empty()); // ASSERT_EQ(result_ids[0], -1); @@ -599,15 +629,15 @@ TEST_F(DeleteTest, delete_add_create_index) { qb.vector_count_ = 1; qb.id_array_.clear(); stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, json_params, qb, result_ids, result_distances); + collection_info.collection_id_, tags, topk, json_params, qb, result_ids, result_distances); ASSERT_EQ(result_ids[0], xb2.id_array_.front()); ASSERT_LT(result_distances[0], 1e-4); result_ids.clear(); result_distances.clear(); - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, - json_params, ids_to_delete.front(), result_ids, result_distances); + stat = db_->QueryByIDs(dummy_context_, collection_info.collection_id_, tags, topk, + json_params, ids_to_delete, result_ids, result_distances); ASSERT_EQ(result_ids[0], -1); ASSERT_EQ(result_distances[0], std::numeric_limits::max()); } @@ -671,16 +701,16 @@ TEST_F(DeleteTest, delete_add_auto_flush) { qb.vector_count_ = 1; qb.id_array_.clear(); stat = db_->Query(dummy_context_, - collection_info.collection_id_, tags, topk, json_params, qb, result_ids, result_distances); + collection_info.collection_id_, tags, topk, json_params, qb, result_ids, result_distances); ASSERT_EQ(result_ids[0], xb2.id_array_.front()); ASSERT_LT(result_distances[0], 1e-4); result_ids.clear(); result_distances.clear(); - stat = db_->QueryByID(dummy_context_, - collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, - ids_to_delete.front(), result_ids, result_distances); + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, tags, topk, {{"nprobe", nprobe}}, + ids_to_delete, result_ids, result_distances); ASSERT_EQ(result_ids[0], -1); ASSERT_EQ(result_distances[0], std::numeric_limits::max()); } @@ -730,12 +760,16 @@ TEST_F(CompactTest, compact_basic) { milvus::engine::ResultDistances result_distances; milvus::engine::VectorsData qb = xb; - for (auto& id : ids_to_delete) { - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, id, result_ids, - result_distances); - ASSERT_EQ(result_ids[0], -1); - ASSERT_EQ(result_distances[0], std::numeric_limits::max()); - } + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_delete, + result_ids, + result_distances); + ASSERT_EQ(result_ids[0], -1); + ASSERT_EQ(result_distances[0], std::numeric_limits::max()); } TEST_F(CompactTest, compact_with_index) { diff --git a/core/unittest/db/test_hybrid_db.cpp b/core/unittest/db/test_hybrid_db.cpp index d015333d20..a248e41b4a 100644 --- a/core/unittest/db/test_hybrid_db.cpp +++ b/core/unittest/db/test_hybrid_db.cpp @@ -292,11 +292,15 @@ TEST_F(DBTest, COMPACT_TEST) { milvus::engine::ResultIds result_ids; milvus::engine::ResultDistances result_distances; - for (auto& id : ids_to_delete) { - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, id, result_ids, - result_distances); - ASSERT_TRUE(stat.ok()); - ASSERT_EQ(result_ids[0], -1); - ASSERT_EQ(result_distances[0], std::numeric_limits::max()); - } + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_delete, + result_ids, + result_distances); + ASSERT_TRUE(stat.ok()); + ASSERT_EQ(result_ids[0], -1); + ASSERT_EQ(result_distances[0], std::numeric_limits::max()); } diff --git a/core/unittest/db/test_search_by_id.cpp b/core/unittest/db/test_search_by_id.cpp index 530ba7f389..71360a3e15 100644 --- a/core/unittest/db/test_search_by_id.cpp +++ b/core/unittest/db/test_search_by_id.cpp @@ -61,9 +61,22 @@ BuildVectors(uint64_t n, milvus::engine::VectorsData& vectors) { for (int j = 0; j < COLLECTION_DIM; j++) data[COLLECTION_DIM * i + j] = drand48(); } } + +void +CheckQueryResult(const std::vector& target_ids, int64_t topk, milvus::engine::ResultIds result_ids, + milvus::engine::ResultDistances result_distances) { + ASSERT_EQ(result_ids.size(), target_ids.size() * topk); + ASSERT_EQ(result_distances.size(), target_ids.size() * topk); + + for (size_t i = 0; i < target_ids.size(); i++) { + ASSERT_EQ(result_ids[topk * i], target_ids[i]); + ASSERT_LT(result_distances[topk * i], 1e-3); + } +} + } // namespace -TEST_F(SearchByIdTest, basic) { +TEST_F(SearchByIdTest, BASIC_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -99,23 +112,53 @@ TEST_F(SearchByIdTest, basic) { stat = db_->Flush(); ASSERT_TRUE(stat.ok()); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto i : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, i, result_ids, - result_distances); - ASSERT_EQ(result_ids[0], i); - ASSERT_LT(result_distances[0], 1e-4); + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + + CheckQueryResult(ids_to_search, topk, result_ids, result_distances); + + // invalid id search + ids_to_search.clear(); + for (int64_t i = 0; i < num_query; ++i) { + int64_t index = (i % 2 == 0) ? -1 : dis(gen); + ids_to_search.emplace_back(index); + } + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + ASSERT_EQ(result_ids.size(), ids_to_search.size() * topk); + ASSERT_EQ(result_distances.size(), ids_to_search.size() * topk); + + for (size_t i = 0; i < ids_to_search.size(); i++) { + if (i % 2 == 0) { + ASSERT_EQ(result_ids[topk * i], -1); + ASSERT_FLOAT_EQ(result_distances[topk * i], std::numeric_limits::max()); + } else { + ASSERT_EQ(result_ids[topk * i], ids_to_search[i]); + ASSERT_LT(result_distances[topk * i], 1e-3); + } } } -TEST_F(SearchByIdTest, with_index) { +TEST_F(SearchByIdTest, WITH_INDEX_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -157,23 +200,26 @@ TEST_F(SearchByIdTest, with_index) { stat = db_->CreateIndex(collection_info.collection_id_, index); ASSERT_TRUE(stat.ok()); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto i : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, i, result_ids, - result_distances); - ASSERT_EQ(result_ids[0], i); - ASSERT_LT(result_distances[0], 1e-3); - } + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + + CheckQueryResult(ids_to_search, topk, result_ids, result_distances); } -TEST_F(SearchByIdTest, with_delete) { +TEST_F(SearchByIdTest, WITH_DELETE_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -218,23 +264,31 @@ TEST_F(SearchByIdTest, with_delete) { stat = db_->Flush(); ASSERT_TRUE(stat.ok()); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto i : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, i, result_ids, - result_distances); - ASSERT_EQ(result_ids[0], -1); - ASSERT_EQ(result_distances[0], std::numeric_limits::max()); + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + + ASSERT_EQ(result_ids.size(), ids_to_search.size() * topk); + ASSERT_EQ(result_distances.size(), ids_to_search.size() * topk); + + for (size_t i = 0; i < result_ids.size(); i++) { + ASSERT_EQ(result_ids[i], -1); } } -TEST_F(GetVectorByIdTest, basic) { +TEST_F(GetVectorByIdTest, BASIC_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -270,28 +324,25 @@ TEST_F(GetVectorByIdTest, basic) { stat = db_->Flush(); ASSERT_TRUE(stat.ok()); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto id : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - milvus::engine::VectorsData vector; - stat = db_->GetVectorByID(collection_info.collection_id_, id, vector); - ASSERT_TRUE(stat.ok()); + std::vector vectors; + stat = db_->GetVectorsByID(collection_info.collection_id_, ids_to_search, vectors); + ASSERT_TRUE(stat.ok()); - stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vector, result_ids, - result_distances); - ASSERT_TRUE(stat.ok()); - ASSERT_EQ(result_ids[0], id); - ASSERT_LT(result_distances[0], 1e-4); - } + stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vectors[0], result_ids, + result_distances); + ASSERT_TRUE(stat.ok()); + ASSERT_EQ(result_ids[0], ids_to_search[0]); + ASSERT_LT(result_distances[0], 1e-4); } -TEST_F(GetVectorByIdTest, with_index) { +TEST_F(GetVectorByIdTest, WITH_INDEX_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -333,27 +384,25 @@ TEST_F(GetVectorByIdTest, with_index) { stat = db_->CreateIndex(collection_info.collection_id_, index); ASSERT_TRUE(stat.ok()); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto id : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - milvus::engine::VectorsData vector; - stat = db_->GetVectorByID(collection_info.collection_id_, id, vector); - ASSERT_TRUE(stat.ok()); + std::vector vectors; + stat = db_->GetVectorsByID(collection_info.collection_id_, ids_to_search, vectors); + ASSERT_TRUE(stat.ok()); - stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vector, result_ids, - result_distances); - ASSERT_EQ(result_ids[0], id); - ASSERT_LT(result_distances[0], 1e-3); - } + stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vectors[0], result_ids, + result_distances); + ASSERT_TRUE(stat.ok()); + ASSERT_EQ(result_ids[0], ids_to_search[0]); + ASSERT_LT(result_distances[0], 1e-3); } -TEST_F(GetVectorByIdTest, with_delete) { +TEST_F(GetVectorByIdTest, WITH_DELETE_TEST) { milvus::engine::meta::CollectionSchema collection_info = BuildCollectionSchema(); auto stat = db_->CreateCollection(collection_info); @@ -398,21 +447,19 @@ TEST_F(GetVectorByIdTest, with_delete) { stat = db_->Flush(); ASSERT_TRUE(stat.ok()); - for (auto id : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - milvus::engine::VectorsData vector; - stat = db_->GetVectorByID(collection_info.collection_id_, id, vector); - ASSERT_TRUE(stat.ok()); - ASSERT_TRUE(vector.float_data_.empty()); + std::vector vectors; + stat = db_->GetVectorsByID(collection_info.collection_id_, ids_to_search, vectors); + ASSERT_TRUE(stat.ok()); + for (auto& vector : vectors) { ASSERT_EQ(vector.vector_count_, 0); } } -TEST_F(SearchByIdTest, BINARY) { +TEST_F(SearchByIdTest, BINARY_TEST) { milvus::engine::meta::CollectionSchema collection_info; collection_info.dimension_ = COLLECTION_DIM; collection_info.collection_id_ = GetCollectionName(); @@ -472,34 +519,64 @@ TEST_F(SearchByIdTest, BINARY) { ASSERT_TRUE(stat.ok()); ASSERT_EQ(row_count, nb * insert_loop); - const int topk = 10, nprobe = 10; + const int64_t topk = 10, nprobe = 10; milvus::json json_params = {{"nprobe", nprobe}}; - for (auto id : ids_to_search) { - // std::cout << "xxxxxxxxxxxxxxxxxxxx " << i << std::endl; - std::vector tags; - milvus::engine::ResultIds result_ids; - milvus::engine::ResultDistances result_distances; + std::vector tags; + milvus::engine::ResultIds result_ids; + milvus::engine::ResultDistances result_distances; - milvus::engine::VectorsData vector; - stat = db_->GetVectorByID(collection_info.collection_id_, id, vector); - ASSERT_TRUE(stat.ok()); - ASSERT_EQ(vector.vector_count_, 1); + std::vector vectors; + stat = db_->GetVectorsByID(collection_info.collection_id_, ids_to_search, vectors); + ASSERT_TRUE(stat.ok()); + ASSERT_EQ(vectors.size(), ids_to_search.size()); - stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vector, result_ids, - result_distances); - ASSERT_TRUE(stat.ok()); - ASSERT_EQ(result_ids[0], id); - ASSERT_LT(result_distances[0], 1e-4); + stat = db_->Query(dummy_context_, collection_info.collection_id_, tags, topk, json_params, vectors[0], result_ids, + result_distances); + ASSERT_TRUE(stat.ok()); + ASSERT_EQ(result_ids[0], ids_to_search[0]); + ASSERT_LT(result_distances[0], 1e-4); - tags.clear(); - result_ids.clear(); - result_distances.clear(); + tags.clear(); + result_ids.clear(); + result_distances.clear(); - stat = db_->QueryByID(dummy_context_, collection_info.collection_id_, tags, topk, json_params, id, result_ids, - result_distances); - ASSERT_TRUE(stat.ok()); - ASSERT_EQ(result_ids[0], id); - ASSERT_LT(result_distances[0], 1e-4); + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + ASSERT_TRUE(stat.ok()); + + CheckQueryResult(ids_to_search, topk, result_ids, result_distances); + + // invalid id search + ids_to_search.clear(); + for (int64_t i = 0; i < num_query; ++i) { + int64_t index = (i % 2 == 0) ? -1 : dis(gen); + ids_to_search.emplace_back(index); + } + stat = db_->QueryByIDs(dummy_context_, + collection_info.collection_id_, + tags, + topk, + json_params, + ids_to_search, + result_ids, + result_distances); + ASSERT_EQ(result_ids.size(), ids_to_search.size() * topk); + ASSERT_EQ(result_distances.size(), ids_to_search.size() * topk); + + for (size_t i = 0; i < ids_to_search.size(); i++) { + if (i % 2 == 0) { + ASSERT_EQ(result_ids[topk * i], -1); + ASSERT_FLOAT_EQ(result_distances[topk * i], std::numeric_limits::max()); + } else { + ASSERT_EQ(result_ids[topk * i], ids_to_search[i]); + ASSERT_LT(result_distances[topk * i], 1e-3); + } } } diff --git a/core/unittest/server/test_web.cpp b/core/unittest/server/test_web.cpp index e313fb8c6b..67f8c128ca 100644 --- a/core/unittest/server/test_web.cpp +++ b/core/unittest/server/test_web.cpp @@ -1107,25 +1107,27 @@ TEST_F(WebControllerTest, GET_COLLECTION_STAT) { auto response = client_ptr->getTable(collection_name, "stat", conncetion_ptr); ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()); - auto result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); - ASSERT_TRUE(result_json.contains("count")); - ASSERT_EQ(5 * 1000, result_json["count"].get()); - ASSERT_TRUE(result_json.contains("partitions_stat")); + std::string json_str = response->readBodyToString()->c_str(); + auto result_json = nlohmann::json::parse(json_str); + ASSERT_TRUE(result_json.contains("row_count")); + ASSERT_EQ(5 * 1000, result_json["row_count"].get()); - auto partitions_stat_json = result_json["partitions_stat"]; + ASSERT_TRUE(result_json.contains("partitions")); + + auto partitions_stat_json = result_json["partitions"]; ASSERT_TRUE(partitions_stat_json.is_array()); auto partition0_json = partitions_stat_json[0]; - ASSERT_TRUE(partition0_json.contains("segments_stat")); - ASSERT_TRUE(partition0_json.contains("count")); - ASSERT_TRUE(partition0_json.contains("partition_tag")); + ASSERT_TRUE(partition0_json.contains("segments")); + ASSERT_TRUE(partition0_json.contains("row_count")); + ASSERT_TRUE(partition0_json.contains("tag")); - auto seg0_stat = partition0_json["segments_stat"][0]; - ASSERT_TRUE(seg0_stat.contains("segment_name")); - ASSERT_TRUE(seg0_stat.contains("index")); - ASSERT_TRUE(seg0_stat.contains("count")); - ASSERT_TRUE(seg0_stat.contains("size")); + auto seg0_stat = partition0_json["segments"][0]; + ASSERT_TRUE(seg0_stat.contains("name")); + ASSERT_TRUE(seg0_stat.contains("index_name")); + ASSERT_TRUE(seg0_stat.contains("row_count")); + ASSERT_TRUE(seg0_stat.contains("data_size")); } TEST_F(WebControllerTest, SHOW_COLLECTIONS) { @@ -1381,12 +1383,13 @@ TEST_F(WebControllerTest, SHOW_SEGMENTS) { ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()) << response->readBodyToString()->c_str(); // validate result - auto result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); + std::string json_str = response->readBodyToString()->c_str(); + auto result_json = nlohmann::json::parse(json_str); - ASSERT_TRUE(result_json.contains("count")); + ASSERT_TRUE(result_json.contains("row_count")); - ASSERT_TRUE(result_json.contains("segments")); - auto segments_json = result_json["segments"]; + ASSERT_TRUE(result_json.contains("partitions")); + auto segments_json = result_json["partitions"]; ASSERT_TRUE(segments_json.is_array()); // ASSERT_EQ(10, segments_json.size()); } @@ -1403,17 +1406,18 @@ TEST_F(WebControllerTest, GET_SEGMENT_INFO) { ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()) << response->readBodyToString()->c_str(); // validate result - auto result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); - - auto segment0_json = result_json["segments"][0]; - std::string segment_name = segment0_json["segment_name"]; + std::string json_str = response->readBodyToString()->c_str(); + auto result_json = nlohmann::json::parse(json_str); + auto segment0_json = result_json["partitions"][0]["segments"][0]; + std::string segment_name = segment0_json["name"]; // get segment ids response = client_ptr->getSegmentInfo(collection_name, segment_name.c_str(), "ids", "0", "10"); ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()) << response->readBodyToString()->c_str(); - auto ids_result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); + json_str = response->readBodyToString()->c_str(); + auto ids_result_json = nlohmann::json::parse(json_str); ASSERT_TRUE(ids_result_json.contains("ids")); auto ids_json = ids_result_json["ids"]; ASSERT_TRUE(ids_json.is_array()); @@ -1423,7 +1427,8 @@ TEST_F(WebControllerTest, GET_SEGMENT_INFO) { response = client_ptr->getSegmentInfo(collection_name, segment_name.c_str(), "vectors", "0", "10"); ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()) << response->readBodyToString()->c_str(); - auto vecs_result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); + json_str = response->readBodyToString()->c_str(); + auto vecs_result_json = nlohmann::json::parse(json_str); ASSERT_TRUE(vecs_result_json.contains("vectors")); auto vecs_json = vecs_result_json["vectors"]; ASSERT_TRUE(vecs_json.is_array()); @@ -1457,16 +1462,17 @@ TEST_F(WebControllerTest, SEGMENT_FILTER) { auto response = client_ptr->showSegments(collection_name, "0", "10", "_default", conncetion_ptr); ASSERT_EQ(OStatus::CODE_200.code, response->getStatusCode()) << response->readBodyToString()->c_str(); - auto result_json = nlohmann::json::parse(response->readBodyToString()->c_str()); - ASSERT_TRUE(result_json.contains("count")); + std::string json_str = response->readBodyToString()->c_str(); + auto result_json = nlohmann::json::parse(json_str); + ASSERT_TRUE(result_json.contains("row_count")); - ASSERT_TRUE(result_json.contains("segments")); - auto segments_json = result_json["segments"]; - ASSERT_TRUE(segments_json.is_array()); - for (auto& s : segments_json) { - ASSERT_TRUE(s.contains("partition_tag")); - ASSERT_EQ("_default", s["partition_tag"].get()); + ASSERT_TRUE(result_json.contains("partitions")); + auto partitions_json = result_json["partitions"]; + ASSERT_TRUE(partitions_json.is_array()); + for (auto& part : partitions_json) { + ASSERT_TRUE(part.contains("tag")); } + ASSERT_EQ("_default", partitions_json[0]["tag"].get()); } TEST_F(WebControllerTest, SEARCH) { diff --git a/sdk/examples/hybrid/src/ClientTest.cpp b/sdk/examples/hybrid/src/ClientTest.cpp index 0fbf17addc..bef385c17d 100644 --- a/sdk/examples/hybrid/src/ClientTest.cpp +++ b/sdk/examples/hybrid/src/ClientTest.cpp @@ -20,6 +20,7 @@ #include #include #include +#include namespace { @@ -150,4 +151,4 @@ ClientTest::TestHybrid() { Flush(collection_name); sleep(2); HybridSearch(collection_name); -} \ No newline at end of file +} diff --git a/sdk/examples/partition/src/ClientTest.cpp b/sdk/examples/partition/src/ClientTest.cpp index e5841fed70..95985a6d5b 100644 --- a/sdk/examples/partition/src/ClientTest.cpp +++ b/sdk/examples/partition/src/ClientTest.cpp @@ -69,9 +69,9 @@ void ShowCollectionInfo(std::shared_ptr& conn) { CountCollection(conn); - milvus::CollectionInfo collection_info; + std::string collection_info; auto stat = conn->ShowCollectionInfo(COLLECTION_NAME, collection_info); - milvus_sdk::Utils::PrintCollectionInfo(collection_info); + std::cout << collection_info << std::endl; std::cout << "ShowCollectionInfo function call status: " << stat.message() << std::endl; } diff --git a/sdk/examples/simple/src/ClientTest.cpp b/sdk/examples/simple/src/ClientTest.cpp index 981e5db1fb..36f33737d6 100644 --- a/sdk/examples/simple/src/ClientTest.cpp +++ b/sdk/examples/simple/src/ClientTest.cpp @@ -37,6 +37,17 @@ constexpr milvus::IndexType INDEX_TYPE = milvus::IndexType::IVFSQ8; constexpr int32_t NLIST = 16384; constexpr uint64_t FIELD_NUM = 3; +void PrintEntity(const std::string& tag, const milvus::Entity& entity) { + std::cout << tag << "\t["; + for (size_t i = 0; i < entity.float_data.size(); i++) { + if (i != 0) { + std::cout << ", "; + } + std::cout << entity.float_data[i]; + } + std::cout << "]" << std::endl; +} + } // namespace ClientTest::ClientTest(const std::string& address, const std::string& port) { @@ -142,18 +153,25 @@ ClientTest::Flush(const std::string& collection_name) { void ClientTest::ShowCollectionInfo(const std::string& collection_name) { - milvus::CollectionInfo collection_info; + std::string collection_info; milvus::Status stat = conn_->ShowCollectionInfo(collection_name, collection_info); - milvus_sdk::Utils::PrintCollectionInfo(collection_info); + std::cout << "Collection info: " << collection_info << std::endl; std::cout << "ShowCollectionInfo function call status: " << stat.message() << std::endl; } void -ClientTest::GetEntityById(const std::string& collection_name, int64_t id) { - milvus::Entity entity; - milvus::Status stat = conn_->GetEntityByID(collection_name, id, entity); - std::cout << "The entity " << id << " has " << entity.float_data.size() << " float elements" << std::endl; - std::cout << "GetEntityById function call status: " << stat.message() << std::endl; +ClientTest::GetEntitiesByID(const std::string& collection_name, const std::vector& id_array) { + std::vector entities; + { + milvus_sdk::TimeRecorder rc("GetEntitiesByID"); + milvus::Status stat = conn_->GetEntitiesByID(collection_name, id_array, entities); + std::cout << "GetEntitiesByID function call status: " << stat.message() << std::endl; + } + + for (size_t i = 0; i < entities.size(); i++) { + std::string prefix = "No." + std::to_string(i) + " id:" + std::to_string(id_array[i]); + PrintEntity(prefix, entities[i]); + } } void @@ -164,6 +182,42 @@ ClientTest::SearchEntities(const std::string& collection_name, int64_t topk, int topk_query_result); } +void +ClientTest::SearchEntitiesByID(const std::string& collection_name, int64_t topk, int64_t nprobe) { + std::vector partition_tags; + milvus::TopKQueryResult topk_query_result; + + topk_query_result.clear(); + + std::vector id_array; + for (auto& pair : search_entity_array_) { + id_array.push_back(pair.first); + } + + JSON json_params = {{"nprobe", nprobe}}; + milvus_sdk::TimeRecorder rc("SearchByID"); + milvus::Status stat = conn_->SearchByID(collection_name, + partition_tags, + id_array, + topk, + json_params.dump(), + topk_query_result); + std::cout << "SearchByID function call status: " << stat.message() << std::endl; + + if (topk_query_result.size() != id_array.size()) { + std::cout << "ERROR! wrong result for query by id" << std::endl; + return; + } + + for (size_t i = 0; i < id_array.size(); i++) { + std::cout << "Entity " << id_array[i] << " top " << topk << " search result:" << std::endl; + const milvus::QueryResult& one_result = topk_query_result[i]; + for (size_t j = 0; j < one_result.ids.size(); j++) { + std::cout << "\t" << one_result.ids[j] << "\t" << one_result.distances[j] << std::endl; + } + } +} + void ClientTest::CreateIndex(const std::string& collection_name, milvus::IndexType type, int64_t nlist) { milvus_sdk::TimeRecorder rc("Create index"); @@ -248,8 +302,9 @@ ClientTest::Test() { Flush(collection_name); ShowCollectionInfo(collection_name); - GetEntityById(collection_name, search_id_array_[0]); - SearchEntities(collection_name, TOP_K, NPROBE); + GetEntitiesByID(collection_name, search_id_array_); +// SearchEntities(collection_name, TOP_K, NPROBE); + SearchEntitiesByID(collection_name, TOP_K, NPROBE); CreateIndex(collection_name, INDEX_TYPE, NLIST); ShowCollectionInfo(collection_name); diff --git a/sdk/examples/simple/src/ClientTest.h b/sdk/examples/simple/src/ClientTest.h index b2a2621019..95d44ad8f5 100644 --- a/sdk/examples/simple/src/ClientTest.h +++ b/sdk/examples/simple/src/ClientTest.h @@ -55,11 +55,14 @@ class ClientTest { ShowCollectionInfo(const std::string&); void - GetEntityById(const std::string&, int64_t); + GetEntitiesByID(const std::string&, const std::vector&); void SearchEntities(const std::string&, int64_t, int64_t); + void + SearchEntitiesByID(const std::string&, int64_t, int64_t); + void CreateIndex(const std::string&, milvus::IndexType, int64_t); diff --git a/sdk/examples/utils/Utils.cpp b/sdk/examples/utils/Utils.cpp index 13d437e057..4428af52a5 100644 --- a/sdk/examples/utils/Utils.cpp +++ b/sdk/examples/utils/Utils.cpp @@ -213,7 +213,7 @@ Utils::DoSearch(std::shared_ptr conn, const std::string& col { BLOCK_SPLITER JSON json_params = {{"nprobe", nprobe}}; - milvus_sdk::TimeRecorder rc("search"); + milvus_sdk::TimeRecorder rc("Search"); milvus::Status stat = conn->Search(collection_name, partition_tags, @@ -229,26 +229,6 @@ Utils::DoSearch(std::shared_ptr conn, const std::string& col CheckSearchResult(entity_array, topk_query_result); } -void -PrintPartitionStat(const milvus::PartitionStat& partition_stat) { - std::cout << "\tPartition " << partition_stat.tag << " entity count: " << partition_stat.row_count << std::endl; - for (auto& seg_stat : partition_stat.segments_stat) { - std::cout << "\t\tsegment " << seg_stat.segment_name << " entity count: " << seg_stat.row_count - << " index: " << seg_stat.index_name << " data size: " << seg_stat.data_size << std::endl; - } -} - -void -Utils::PrintCollectionInfo(const milvus::CollectionInfo& info) { - BLOCK_SPLITER - std::cout << "Collection " << " total entity count: " << info.total_row_count << std::endl; - for (const milvus::PartitionStat& partition_stat : info.partitions_stat) { - PrintPartitionStat(partition_stat); - } - - BLOCK_SPLITER -} - void ConstructVector(uint64_t nq, uint64_t dimension, std::vector& query_vector) { query_vector.resize(nq); for (uint64_t i = 0; i < nq; ++i) { diff --git a/sdk/examples/utils/Utils.h b/sdk/examples/utils/Utils.h index 4c4692bf76..a70e97a956 100644 --- a/sdk/examples/utils/Utils.h +++ b/sdk/examples/utils/Utils.h @@ -71,9 +71,6 @@ class Utils { const std::vector>& entity_array, milvus::TopKQueryResult& topk_query_result); - static void - PrintCollectionInfo(const milvus::CollectionInfo& collection_info); - static std::vector GenLeafQuery(); }; diff --git a/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.cc b/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.cc index 72fd9653d7..297564670f 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.cc +++ b/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.cc @@ -31,10 +31,11 @@ static const char* MilvusService_method_names[] = { "/milvus.grpc.MilvusService/DescribeIndex", "/milvus.grpc.MilvusService/DropIndex", "/milvus.grpc.MilvusService/CreatePartition", + "/milvus.grpc.MilvusService/HasPartition", "/milvus.grpc.MilvusService/ShowPartitions", "/milvus.grpc.MilvusService/DropPartition", "/milvus.grpc.MilvusService/Insert", - "/milvus.grpc.MilvusService/GetVectorByID", + "/milvus.grpc.MilvusService/GetVectorsByID", "/milvus.grpc.MilvusService/GetVectorIDs", "/milvus.grpc.MilvusService/Search", "/milvus.grpc.MilvusService/SearchByID", @@ -78,33 +79,34 @@ MilvusService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& chan , rpcmethod_DescribeIndex_(MilvusService_method_names[8], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_DropIndex_(MilvusService_method_names[9], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_CreatePartition_(MilvusService_method_names[10], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowPartitions_(MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DropPartition_(MilvusService_method_names[12], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Insert_(MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetVectorByID_(MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetVectorIDs_(MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Search_(MilvusService_method_names[16], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_SearchByID_(MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_SearchInFiles_(MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Cmd_(MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DeleteByID_(MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_PreloadCollection_(MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Flush_(MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_Compact_(MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_CreateHybridCollection_(MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HasHybridCollection_(MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DropHybridCollection_(MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DescribeHybridCollection_(MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_CountHybridCollection_(MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowHybridCollections_(MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ShowHybridCollectionInfo_(MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_PreloadHybridCollection_(MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_InsertEntity_(MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HybridSearch_(MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_HybridSearchInSegments_(MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetEntityByID_(MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetEntityIDs_(MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_DeleteEntitiesByID_(MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HasPartition_(MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowPartitions_(MilvusService_method_names[12], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DropPartition_(MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Insert_(MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetVectorsByID_(MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetVectorIDs_(MilvusService_method_names[16], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Search_(MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SearchByID_(MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SearchInFiles_(MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Cmd_(MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DeleteByID_(MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_PreloadCollection_(MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Flush_(MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Compact_(MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CreateHybridCollection_(MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HasHybridCollection_(MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DropHybridCollection_(MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DescribeHybridCollection_(MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CountHybridCollection_(MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowHybridCollections_(MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ShowHybridCollectionInfo_(MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_PreloadHybridCollection_(MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_InsertEntity_(MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HybridSearch_(MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HybridSearchInSegments_(MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetEntityByID_(MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetEntityIDs_(MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DeleteEntitiesByID_(MilvusService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status MilvusService::Stub::CreateCollection(::grpc::ClientContext* context, const ::milvus::grpc::CollectionSchema& request, ::milvus::grpc::Status* response) { @@ -415,6 +417,34 @@ void MilvusService::Stub::experimental_async::CreatePartition(::grpc::ClientCont return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::Status>::Create(channel_.get(), cq, rpcmethod_CreatePartition_, context, request, false); } +::grpc::Status MilvusService::Stub::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_HasPartition_, context, request, response); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, std::move(f)); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, std::move(f)); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, reactor); +} + +void MilvusService::Stub::experimental_async::HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_HasPartition_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* MilvusService::Stub::AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::BoolReply>::Create(channel_.get(), cq, rpcmethod_HasPartition_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* MilvusService::Stub::PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::BoolReply>::Create(channel_.get(), cq, rpcmethod_HasPartition_, context, request, false); +} + ::grpc::Status MilvusService::Stub::ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::milvus::grpc::PartitionList* response) { return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_ShowPartitions_, context, request, response); } @@ -499,32 +529,32 @@ void MilvusService::Stub::experimental_async::Insert(::grpc::ClientContext* cont return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorIds>::Create(channel_.get(), cq, rpcmethod_Insert_, context, request, false); } -::grpc::Status MilvusService::Stub::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) { - return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetVectorByID_, context, request, response); +::grpc::Status MilvusService::Stub::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetVectorsByID_, context, request, response); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function f) { - ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, std::move(f)); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, std::move(f)); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function f) { - ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, std::move(f)); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function f) { + ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, std::move(f)); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, reactor); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, reactor); } -void MilvusService::Stub::experimental_async::GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorByID_, context, request, response, reactor); +void MilvusService::Stub::experimental_async::GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetVectorsByID_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* MilvusService::Stub::AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorData>::Create(channel_.get(), cq, rpcmethod_GetVectorByID_, context, request, true); +::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* MilvusService::Stub::AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorsData>::Create(channel_.get(), cq, rpcmethod_GetVectorsByID_, context, request, true); } -::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* MilvusService::Stub::PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorData>::Create(channel_.get(), cq, rpcmethod_GetVectorByID_, context, request, false); +::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* MilvusService::Stub::PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::milvus::grpc::VectorsData>::Create(channel_.get(), cq, rpcmethod_GetVectorsByID_, context, request, false); } ::grpc::Status MilvusService::Stub::GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::milvus::grpc::VectorIds* response) { @@ -1230,135 +1260,140 @@ MilvusService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( MilvusService_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>( + std::mem_fn(&MilvusService::Service::HasPartition), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + MilvusService_method_names[12], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>( std::mem_fn(&MilvusService::Service::ShowPartitions), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[12], + MilvusService_method_names[13], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DropPartition), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[13], + MilvusService_method_names[14], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>( std::mem_fn(&MilvusService::Service::Insert), this))); - AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[14], - ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>( - std::mem_fn(&MilvusService::Service::GetVectorByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( MilvusService_method_names[15], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>( + std::mem_fn(&MilvusService::Service::GetVectorsByID), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + MilvusService_method_names[16], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>( std::mem_fn(&MilvusService::Service::GetVectorIDs), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[16], + MilvusService_method_names[17], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::Search), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[17], + MilvusService_method_names[18], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::SearchByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[18], + MilvusService_method_names[19], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::SearchInFiles), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[19], + MilvusService_method_names[20], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Command, ::milvus::grpc::StringReply>( std::mem_fn(&MilvusService::Service::Cmd), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[20], + MilvusService_method_names[21], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DeleteByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[21], + MilvusService_method_names[22], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::PreloadCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[22], + MilvusService_method_names[23], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::FlushParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::Flush), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[23], + MilvusService_method_names[24], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::Compact), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[24], + MilvusService_method_names[25], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Mapping, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::CreateHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[25], + MilvusService_method_names[26], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>( std::mem_fn(&MilvusService::Service::HasHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[26], + MilvusService_method_names[27], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DropHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[27], + MilvusService_method_names[28], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>( std::mem_fn(&MilvusService::Service::DescribeHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[28], + MilvusService_method_names[29], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>( std::mem_fn(&MilvusService::Service::CountHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[29], + MilvusService_method_names[30], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::Command, ::milvus::grpc::MappingList>( std::mem_fn(&MilvusService::Service::ShowHybridCollections), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[30], + MilvusService_method_names[31], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>( std::mem_fn(&MilvusService::Service::ShowHybridCollectionInfo), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[31], + MilvusService_method_names[32], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::PreloadHybridCollection), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[32], + MilvusService_method_names[33], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>( std::mem_fn(&MilvusService::Service::InsertEntity), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[33], + MilvusService_method_names[34], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::HybridSearch), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[34], + MilvusService_method_names[35], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>( std::mem_fn(&MilvusService::Service::HybridSearchInSegments), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[35], + MilvusService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>( std::mem_fn(&MilvusService::Service::GetEntityByID), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[36], + MilvusService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>( std::mem_fn(&MilvusService::Service::GetEntityIDs), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - MilvusService_method_names[37], + MilvusService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< MilvusService::Service, ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>( std::mem_fn(&MilvusService::Service::DeleteEntitiesByID), this))); @@ -1444,6 +1479,13 @@ MilvusService::Service::~Service() { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status MilvusService::Service::HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + ::grpc::Status MilvusService::Service::ShowPartitions(::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response) { (void) context; (void) request; @@ -1465,7 +1507,7 @@ MilvusService::Service::~Service() { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status MilvusService::Service::GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response) { +::grpc::Status MilvusService::Service::GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response) { (void) context; (void) request; (void) response; diff --git a/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.h b/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.h index fd2b54b5a1..969758d750 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.h +++ b/sdk/grpc-gen/gen-milvus/milvus.grpc.pb.h @@ -191,6 +191,19 @@ class MilvusService final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>>(PrepareAsyncCreatePartitionRaw(context, request, cq)); } // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual ::grpc::Status HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>> AsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>>(AsyncHasPartitionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>> PrepareAsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>>(PrepareAsyncHasPartitionRaw(context, request, cq)); + } + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -230,17 +243,17 @@ class MilvusService final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>>(PrepareAsyncInsertRaw(context, request, cq)); } // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual ::grpc::Status GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>> AsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>>(AsyncGetVectorByIDRaw(context, request, cq)); + // @return VectorsData + virtual ::grpc::Status GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>> AsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>>(AsyncGetVectorsByIDRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>> PrepareAsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>>(PrepareAsyncGetVectorByIDRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>> PrepareAsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>>(PrepareAsyncGetVectorsByIDRaw(context, request, cq)); } // * // @brief This method is used to get vector ids from a segment @@ -584,6 +597,16 @@ class MilvusService final { virtual void CreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -614,15 +637,15 @@ class MilvusService final { virtual void Insert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; - virtual void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + // @return VectorsData + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; // * // @brief This method is used to get vector ids from a segment // @@ -807,14 +830,16 @@ class MilvusService final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncDropIndexRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* AsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>* AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::BoolReply>* PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::PartitionList>* AsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::PartitionList>* PrepareAsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* AsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::Status>* PrepareAsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* AsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* PrepareAsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>* AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorData>* PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>* AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorsData>* PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* AsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::VectorIds>* PrepareAsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::milvus::grpc::TopKQueryResult>* AsyncSearchRaw(::grpc::ClientContext* context, const ::milvus::grpc::SearchParam& request, ::grpc::CompletionQueue* cq) = 0; @@ -942,6 +967,13 @@ class MilvusService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>> PrepareAsyncCreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>>(PrepareAsyncCreatePartitionRaw(context, request, cq)); } + ::grpc::Status HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::milvus::grpc::BoolReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>> AsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>>(AsyncHasPartitionRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>> PrepareAsyncHasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>>(PrepareAsyncHasPartitionRaw(context, request, cq)); + } ::grpc::Status ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::milvus::grpc::PartitionList* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>> AsyncShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>>(AsyncShowPartitionsRaw(context, request, cq)); @@ -963,12 +995,12 @@ class MilvusService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>> PrepareAsyncInsert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>>(PrepareAsyncInsertRaw(context, request, cq)); } - ::grpc::Status GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::milvus::grpc::VectorData* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>> AsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>>(AsyncGetVectorByIDRaw(context, request, cq)); + ::grpc::Status GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::milvus::grpc::VectorsData* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>> AsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>>(AsyncGetVectorsByIDRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>> PrepareAsyncGetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>>(PrepareAsyncGetVectorByIDRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>> PrepareAsyncGetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>>(PrepareAsyncGetVectorsByIDRaw(context, request, cq)); } ::grpc::Status GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::milvus::grpc::VectorIds* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>> AsyncGetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) { @@ -1178,6 +1210,10 @@ class MilvusService final { void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, std::function) override; void CreatePartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void CreatePartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::Status* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, std::function) override; + void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, std::function) override; + void HasPartition(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void HasPartition(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::BoolReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response, std::function) override; void ShowPartitions(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::PartitionList* response, std::function) override; void ShowPartitions(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName* request, ::milvus::grpc::PartitionList* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; @@ -1190,10 +1226,10 @@ class MilvusService final { void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, std::function) override; void Insert(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void Insert(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; - void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, std::function) override; - void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, std::function) override; - void GetVectorByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; - void GetVectorByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, std::function) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, std::function) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void GetVectorsByID(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorsData* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam* request, ::milvus::grpc::VectorIds* response, std::function) override; void GetVectorIDs(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::milvus::grpc::VectorIds* response, std::function) override; void GetVectorIDs(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam* request, ::milvus::grpc::VectorIds* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; @@ -1319,14 +1355,16 @@ class MilvusService final { ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncDropIndexRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* AsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncCreatePartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* AsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::BoolReply>* PrepareAsyncHasPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>* AsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::PartitionList>* PrepareAsyncShowPartitionsRaw(::grpc::ClientContext* context, const ::milvus::grpc::CollectionName& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* AsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::Status>* PrepareAsyncDropPartitionRaw(::grpc::ClientContext* context, const ::milvus::grpc::PartitionParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* AsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* PrepareAsyncInsertRaw(::grpc::ClientContext* context, const ::milvus::grpc::InsertParam& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* AsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorData>* PrepareAsyncGetVectorByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorIdentity& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* AsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorsData>* PrepareAsyncGetVectorsByIDRaw(::grpc::ClientContext* context, const ::milvus::grpc::VectorsIdentity& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* AsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::VectorIds>* PrepareAsyncGetVectorIDsRaw(::grpc::ClientContext* context, const ::milvus::grpc::GetVectorIDsParam& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::milvus::grpc::TopKQueryResult>* AsyncSearchRaw(::grpc::ClientContext* context, const ::milvus::grpc::SearchParam& request, ::grpc::CompletionQueue* cq) override; @@ -1384,10 +1422,11 @@ class MilvusService final { const ::grpc::internal::RpcMethod rpcmethod_DescribeIndex_; const ::grpc::internal::RpcMethod rpcmethod_DropIndex_; const ::grpc::internal::RpcMethod rpcmethod_CreatePartition_; + const ::grpc::internal::RpcMethod rpcmethod_HasPartition_; const ::grpc::internal::RpcMethod rpcmethod_ShowPartitions_; const ::grpc::internal::RpcMethod rpcmethod_DropPartition_; const ::grpc::internal::RpcMethod rpcmethod_Insert_; - const ::grpc::internal::RpcMethod rpcmethod_GetVectorByID_; + const ::grpc::internal::RpcMethod rpcmethod_GetVectorsByID_; const ::grpc::internal::RpcMethod rpcmethod_GetVectorIDs_; const ::grpc::internal::RpcMethod rpcmethod_Search_; const ::grpc::internal::RpcMethod rpcmethod_SearchByID_; @@ -1496,6 +1535,13 @@ class MilvusService final { // @return Status virtual ::grpc::Status CreatePartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::Status* response); // * + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + virtual ::grpc::Status HasPartition(::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, ::milvus::grpc::BoolReply* response); + // * // @brief This method is used to show partition information // // @param CollectionName, target collection name. @@ -1517,12 +1563,12 @@ class MilvusService final { // @return VectorIds virtual ::grpc::Status Insert(::grpc::ServerContext* context, const ::milvus::grpc::InsertParam* request, ::milvus::grpc::VectorIds* response); // * - // @brief This method is used to get vector data by id. + // @brief This method is used to get vectors data by id array. // - // @param VectorIdentity, target vector id. + // @param VectorsIdentity, target vector id array. // - // @return VectorData - virtual ::grpc::Status GetVectorByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorIdentity* request, ::milvus::grpc::VectorData* response); + // @return VectorsData + virtual ::grpc::Status GetVectorsByID(::grpc::ServerContext* context, const ::milvus::grpc::VectorsIdentity* request, ::milvus::grpc::VectorsData* response); // * // @brief This method is used to get vector ids from a segment // @@ -1835,12 +1881,32 @@ class MilvusService final { } }; template + class WithAsyncMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_HasPartition() { + ::grpc::Service::MarkMethodAsync(11); + } + ~WithAsyncMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHasPartition(::grpc::ServerContext* context, ::milvus::grpc::PartitionParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::BoolReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowPartitions() { - ::grpc::Service::MarkMethodAsync(11); + ::grpc::Service::MarkMethodAsync(12); } ~WithAsyncMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -1851,7 +1917,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowPartitions(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::PartitionList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1860,7 +1926,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DropPartition() { - ::grpc::Service::MarkMethodAsync(12); + ::grpc::Service::MarkMethodAsync(13); } ~WithAsyncMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -1871,7 +1937,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropPartition(::grpc::ServerContext* context, ::milvus::grpc::PartitionParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1880,7 +1946,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Insert() { - ::grpc::Service::MarkMethodAsync(13); + ::grpc::Service::MarkMethodAsync(14); } ~WithAsyncMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -1891,27 +1957,27 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsert(::grpc::ServerContext* context, ::milvus::grpc::InsertParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorIds>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_GetVectorByID : public BaseClass { + class WithAsyncMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_GetVectorByID() { - ::grpc::Service::MarkMethodAsync(14); + WithAsyncMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodAsync(15); } - ~WithAsyncMethod_GetVectorByID() override { + ~WithAsyncMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestGetVectorByID(::grpc::ServerContext* context, ::milvus::grpc::VectorIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorData>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + void RequestGetVectorsByID(::grpc::ServerContext* context, ::milvus::grpc::VectorsIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorsData>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1920,7 +1986,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodAsync(15); + ::grpc::Service::MarkMethodAsync(16); } ~WithAsyncMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -1931,7 +1997,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetVectorIDs(::grpc::ServerContext* context, ::milvus::grpc::GetVectorIDsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::VectorIds>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1940,7 +2006,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Search() { - ::grpc::Service::MarkMethodAsync(16); + ::grpc::Service::MarkMethodAsync(17); } ~WithAsyncMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -1951,7 +2017,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearch(::grpc::ServerContext* context, ::milvus::grpc::SearchParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1960,7 +2026,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SearchByID() { - ::grpc::Service::MarkMethodAsync(17); + ::grpc::Service::MarkMethodAsync(18); } ~WithAsyncMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -1971,7 +2037,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchByID(::grpc::ServerContext* context, ::milvus::grpc::SearchByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1980,7 +2046,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_SearchInFiles() { - ::grpc::Service::MarkMethodAsync(18); + ::grpc::Service::MarkMethodAsync(19); } ~WithAsyncMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -1991,7 +2057,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchInFiles(::grpc::ServerContext* context, ::milvus::grpc::SearchInFilesParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2000,7 +2066,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Cmd() { - ::grpc::Service::MarkMethodAsync(19); + ::grpc::Service::MarkMethodAsync(20); } ~WithAsyncMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -2011,7 +2077,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCmd(::grpc::ServerContext* context, ::milvus::grpc::Command* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::StringReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2020,7 +2086,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DeleteByID() { - ::grpc::Service::MarkMethodAsync(20); + ::grpc::Service::MarkMethodAsync(21); } ~WithAsyncMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -2031,7 +2097,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteByID(::grpc::ServerContext* context, ::milvus::grpc::DeleteByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2040,7 +2106,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_PreloadCollection() { - ::grpc::Service::MarkMethodAsync(21); + ::grpc::Service::MarkMethodAsync(22); } ~WithAsyncMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2051,7 +2117,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2060,7 +2126,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Flush() { - ::grpc::Service::MarkMethodAsync(22); + ::grpc::Service::MarkMethodAsync(23); } ~WithAsyncMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -2071,7 +2137,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlush(::grpc::ServerContext* context, ::milvus::grpc::FlushParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2080,7 +2146,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_Compact() { - ::grpc::Service::MarkMethodAsync(23); + ::grpc::Service::MarkMethodAsync(24); } ~WithAsyncMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -2091,7 +2157,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCompact(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2100,7 +2166,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodAsync(24); + ::grpc::Service::MarkMethodAsync(25); } ~WithAsyncMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2111,7 +2177,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::Mapping* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2120,7 +2186,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodAsync(25); + ::grpc::Service::MarkMethodAsync(26); } ~WithAsyncMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2131,7 +2197,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHasHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::BoolReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2140,7 +2206,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodAsync(26); + ::grpc::Service::MarkMethodAsync(27); } ~WithAsyncMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2151,7 +2217,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2160,7 +2226,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodAsync(27); + ::grpc::Service::MarkMethodAsync(28); } ~WithAsyncMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2171,7 +2237,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDescribeHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Mapping>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2180,7 +2246,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodAsync(28); + ::grpc::Service::MarkMethodAsync(29); } ~WithAsyncMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2191,7 +2257,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCountHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::CollectionRowCount>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2200,7 +2266,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodAsync(29); + ::grpc::Service::MarkMethodAsync(30); } ~WithAsyncMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -2211,7 +2277,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollections(::grpc::ServerContext* context, ::milvus::grpc::Command* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::MappingList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2220,7 +2286,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodAsync(30); + ::grpc::Service::MarkMethodAsync(31); } ~WithAsyncMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -2231,7 +2297,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollectionInfo(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::CollectionInfo>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2240,7 +2306,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodAsync(31); + ::grpc::Service::MarkMethodAsync(32); } ~WithAsyncMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -2251,7 +2317,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadHybridCollection(::grpc::ServerContext* context, ::milvus::grpc::CollectionName* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2260,7 +2326,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_InsertEntity() { - ::grpc::Service::MarkMethodAsync(32); + ::grpc::Service::MarkMethodAsync(33); } ~WithAsyncMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -2271,7 +2337,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsertEntity(::grpc::ServerContext* context, ::milvus::grpc::HInsertParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntityIDs>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2280,7 +2346,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HybridSearch() { - ::grpc::Service::MarkMethodAsync(33); + ::grpc::Service::MarkMethodAsync(34); } ~WithAsyncMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -2291,7 +2357,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearch(::grpc::ServerContext* context, ::milvus::grpc::HSearchParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2300,7 +2366,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodAsync(34); + ::grpc::Service::MarkMethodAsync(35); } ~WithAsyncMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -2311,7 +2377,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearchInSegments(::grpc::ServerContext* context, ::milvus::grpc::HSearchInSegmentsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::TopKQueryResult>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2320,7 +2386,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetEntityByID() { - ::grpc::Service::MarkMethodAsync(35); + ::grpc::Service::MarkMethodAsync(36); } ~WithAsyncMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -2331,7 +2397,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityByID(::grpc::ServerContext* context, ::milvus::grpc::HEntityIdentity* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntity>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2340,7 +2406,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodAsync(36); + ::grpc::Service::MarkMethodAsync(37); } ~WithAsyncMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -2351,7 +2417,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityIDs(::grpc::ServerContext* context, ::milvus::grpc::HGetEntityIDsParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::HEntityIDs>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2360,7 +2426,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodAsync(37); + ::grpc::Service::MarkMethodAsync(38); } ~WithAsyncMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -2371,10 +2437,10 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteEntitiesByID(::grpc::ServerContext* context, ::milvus::grpc::HDeleteByIDParam* request, ::grpc::ServerAsyncResponseWriter< ::milvus::grpc::Status>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + typedef WithAsyncMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class ExperimentalWithCallbackMethod_CreateCollection : public BaseClass { private: @@ -2717,12 +2783,43 @@ class MilvusService final { virtual void CreatePartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::Status* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithCallbackMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_HasPartition() { + ::grpc::Service::experimental().MarkMethodCallback(11, + new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>( + [this](::grpc::ServerContext* context, + const ::milvus::grpc::PartitionParam* request, + ::milvus::grpc::BoolReply* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->HasPartition(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_HasPartition( + ::grpc::experimental::MessageAllocator< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>* allocator) { + static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>*>( + ::grpc::Service::experimental().GetHandler(11)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithCallbackMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowPartitions() { - ::grpc::Service::experimental().MarkMethodCallback(11, + ::grpc::Service::experimental().MarkMethodCallback(12, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -2734,7 +2831,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowPartitions( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>*>( - ::grpc::Service::experimental().GetHandler(11)) + ::grpc::Service::experimental().GetHandler(12)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowPartitions() override { @@ -2753,7 +2850,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DropPartition() { - ::grpc::Service::experimental().MarkMethodCallback(12, + ::grpc::Service::experimental().MarkMethodCallback(13, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::PartitionParam* request, @@ -2765,7 +2862,7 @@ class MilvusService final { void SetMessageAllocatorFor_DropPartition( ::grpc::experimental::MessageAllocator< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(12)) + ::grpc::Service::experimental().GetHandler(13)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DropPartition() override { @@ -2784,7 +2881,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Insert() { - ::grpc::Service::experimental().MarkMethodCallback(13, + ::grpc::Service::experimental().MarkMethodCallback(14, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>( [this](::grpc::ServerContext* context, const ::milvus::grpc::InsertParam* request, @@ -2796,7 +2893,7 @@ class MilvusService final { void SetMessageAllocatorFor_Insert( ::grpc::experimental::MessageAllocator< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>*>( - ::grpc::Service::experimental().GetHandler(13)) + ::grpc::Service::experimental().GetHandler(14)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Insert() override { @@ -2810,35 +2907,35 @@ class MilvusService final { virtual void Insert(::grpc::ServerContext* /*context*/, const ::milvus::grpc::InsertParam* /*request*/, ::milvus::grpc::VectorIds* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template - class ExperimentalWithCallbackMethod_GetVectorByID : public BaseClass { + class ExperimentalWithCallbackMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_GetVectorByID() { - ::grpc::Service::experimental().MarkMethodCallback(14, - new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>( + ExperimentalWithCallbackMethod_GetVectorsByID() { + ::grpc::Service::experimental().MarkMethodCallback(15, + new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>( [this](::grpc::ServerContext* context, - const ::milvus::grpc::VectorIdentity* request, - ::milvus::grpc::VectorData* response, + const ::milvus::grpc::VectorsIdentity* request, + ::milvus::grpc::VectorsData* response, ::grpc::experimental::ServerCallbackRpcController* controller) { - return this->GetVectorByID(context, request, response, controller); + return this->GetVectorsByID(context, request, response, controller); })); } - void SetMessageAllocatorFor_GetVectorByID( - ::grpc::experimental::MessageAllocator< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>* allocator) { - static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>*>( - ::grpc::Service::experimental().GetHandler(14)) + void SetMessageAllocatorFor_GetVectorsByID( + ::grpc::experimental::MessageAllocator< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>* allocator) { + static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>*>( + ::grpc::Service::experimental().GetHandler(15)) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_GetVectorByID() override { + ~ExperimentalWithCallbackMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual void GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + virtual void GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template class ExperimentalWithCallbackMethod_GetVectorIDs : public BaseClass { @@ -2846,7 +2943,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetVectorIDs() { - ::grpc::Service::experimental().MarkMethodCallback(15, + ::grpc::Service::experimental().MarkMethodCallback(16, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>( [this](::grpc::ServerContext* context, const ::milvus::grpc::GetVectorIDsParam* request, @@ -2858,7 +2955,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetVectorIDs( ::grpc::experimental::MessageAllocator< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>*>( - ::grpc::Service::experimental().GetHandler(15)) + ::grpc::Service::experimental().GetHandler(16)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetVectorIDs() override { @@ -2877,7 +2974,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Search() { - ::grpc::Service::experimental().MarkMethodCallback(16, + ::grpc::Service::experimental().MarkMethodCallback(17, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchParam* request, @@ -2889,7 +2986,7 @@ class MilvusService final { void SetMessageAllocatorFor_Search( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(16)) + ::grpc::Service::experimental().GetHandler(17)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Search() override { @@ -2908,7 +3005,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_SearchByID() { - ::grpc::Service::experimental().MarkMethodCallback(17, + ::grpc::Service::experimental().MarkMethodCallback(18, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchByIDParam* request, @@ -2920,7 +3017,7 @@ class MilvusService final { void SetMessageAllocatorFor_SearchByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(17)) + ::grpc::Service::experimental().GetHandler(18)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_SearchByID() override { @@ -2939,7 +3036,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_SearchInFiles() { - ::grpc::Service::experimental().MarkMethodCallback(18, + ::grpc::Service::experimental().MarkMethodCallback(19, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::SearchInFilesParam* request, @@ -2951,7 +3048,7 @@ class MilvusService final { void SetMessageAllocatorFor_SearchInFiles( ::grpc::experimental::MessageAllocator< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(18)) + ::grpc::Service::experimental().GetHandler(19)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_SearchInFiles() override { @@ -2970,7 +3067,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Cmd() { - ::grpc::Service::experimental().MarkMethodCallback(19, + ::grpc::Service::experimental().MarkMethodCallback(20, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Command* request, @@ -2982,7 +3079,7 @@ class MilvusService final { void SetMessageAllocatorFor_Cmd( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Command, ::milvus::grpc::StringReply>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>*>( - ::grpc::Service::experimental().GetHandler(19)) + ::grpc::Service::experimental().GetHandler(20)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Cmd() override { @@ -3001,7 +3098,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DeleteByID() { - ::grpc::Service::experimental().MarkMethodCallback(20, + ::grpc::Service::experimental().MarkMethodCallback(21, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::DeleteByIDParam* request, @@ -3013,7 +3110,7 @@ class MilvusService final { void SetMessageAllocatorFor_DeleteByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(20)) + ::grpc::Service::experimental().GetHandler(21)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DeleteByID() override { @@ -3032,7 +3129,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_PreloadCollection() { - ::grpc::Service::experimental().MarkMethodCallback(21, + ::grpc::Service::experimental().MarkMethodCallback(22, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3044,7 +3141,7 @@ class MilvusService final { void SetMessageAllocatorFor_PreloadCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(21)) + ::grpc::Service::experimental().GetHandler(22)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_PreloadCollection() override { @@ -3063,7 +3160,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Flush() { - ::grpc::Service::experimental().MarkMethodCallback(22, + ::grpc::Service::experimental().MarkMethodCallback(23, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::FlushParam* request, @@ -3075,7 +3172,7 @@ class MilvusService final { void SetMessageAllocatorFor_Flush( ::grpc::experimental::MessageAllocator< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(22)) + ::grpc::Service::experimental().GetHandler(23)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Flush() override { @@ -3094,7 +3191,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_Compact() { - ::grpc::Service::experimental().MarkMethodCallback(23, + ::grpc::Service::experimental().MarkMethodCallback(24, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3106,7 +3203,7 @@ class MilvusService final { void SetMessageAllocatorFor_Compact( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(23)) + ::grpc::Service::experimental().GetHandler(24)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_Compact() override { @@ -3125,7 +3222,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_CreateHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(24, + ::grpc::Service::experimental().MarkMethodCallback(25, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Mapping* request, @@ -3137,7 +3234,7 @@ class MilvusService final { void SetMessageAllocatorFor_CreateHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Mapping, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(24)) + ::grpc::Service::experimental().GetHandler(25)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_CreateHybridCollection() override { @@ -3156,7 +3253,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HasHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(25, + ::grpc::Service::experimental().MarkMethodCallback(26, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3168,7 +3265,7 @@ class MilvusService final { void SetMessageAllocatorFor_HasHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>*>( - ::grpc::Service::experimental().GetHandler(25)) + ::grpc::Service::experimental().GetHandler(26)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HasHybridCollection() override { @@ -3187,7 +3284,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DropHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(26, + ::grpc::Service::experimental().MarkMethodCallback(27, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3199,7 +3296,7 @@ class MilvusService final { void SetMessageAllocatorFor_DropHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(26)) + ::grpc::Service::experimental().GetHandler(27)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DropHybridCollection() override { @@ -3218,7 +3315,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DescribeHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(27, + ::grpc::Service::experimental().MarkMethodCallback(28, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3230,7 +3327,7 @@ class MilvusService final { void SetMessageAllocatorFor_DescribeHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>*>( - ::grpc::Service::experimental().GetHandler(27)) + ::grpc::Service::experimental().GetHandler(28)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DescribeHybridCollection() override { @@ -3249,7 +3346,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_CountHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(28, + ::grpc::Service::experimental().MarkMethodCallback(29, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3261,7 +3358,7 @@ class MilvusService final { void SetMessageAllocatorFor_CountHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>*>( - ::grpc::Service::experimental().GetHandler(28)) + ::grpc::Service::experimental().GetHandler(29)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_CountHybridCollection() override { @@ -3280,7 +3377,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowHybridCollections() { - ::grpc::Service::experimental().MarkMethodCallback(29, + ::grpc::Service::experimental().MarkMethodCallback(30, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>( [this](::grpc::ServerContext* context, const ::milvus::grpc::Command* request, @@ -3292,7 +3389,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowHybridCollections( ::grpc::experimental::MessageAllocator< ::milvus::grpc::Command, ::milvus::grpc::MappingList>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>*>( - ::grpc::Service::experimental().GetHandler(29)) + ::grpc::Service::experimental().GetHandler(30)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowHybridCollections() override { @@ -3311,7 +3408,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_ShowHybridCollectionInfo() { - ::grpc::Service::experimental().MarkMethodCallback(30, + ::grpc::Service::experimental().MarkMethodCallback(31, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3323,7 +3420,7 @@ class MilvusService final { void SetMessageAllocatorFor_ShowHybridCollectionInfo( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>*>( - ::grpc::Service::experimental().GetHandler(30)) + ::grpc::Service::experimental().GetHandler(31)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ShowHybridCollectionInfo() override { @@ -3342,7 +3439,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_PreloadHybridCollection() { - ::grpc::Service::experimental().MarkMethodCallback(31, + ::grpc::Service::experimental().MarkMethodCallback(32, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::CollectionName* request, @@ -3354,7 +3451,7 @@ class MilvusService final { void SetMessageAllocatorFor_PreloadHybridCollection( ::grpc::experimental::MessageAllocator< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(31)) + ::grpc::Service::experimental().GetHandler(32)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_PreloadHybridCollection() override { @@ -3373,7 +3470,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_InsertEntity() { - ::grpc::Service::experimental().MarkMethodCallback(32, + ::grpc::Service::experimental().MarkMethodCallback(33, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HInsertParam* request, @@ -3385,7 +3482,7 @@ class MilvusService final { void SetMessageAllocatorFor_InsertEntity( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>*>( - ::grpc::Service::experimental().GetHandler(32)) + ::grpc::Service::experimental().GetHandler(33)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_InsertEntity() override { @@ -3404,7 +3501,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HybridSearch() { - ::grpc::Service::experimental().MarkMethodCallback(33, + ::grpc::Service::experimental().MarkMethodCallback(34, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HSearchParam* request, @@ -3416,7 +3513,7 @@ class MilvusService final { void SetMessageAllocatorFor_HybridSearch( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(33)) + ::grpc::Service::experimental().GetHandler(34)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HybridSearch() override { @@ -3435,7 +3532,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_HybridSearchInSegments() { - ::grpc::Service::experimental().MarkMethodCallback(34, + ::grpc::Service::experimental().MarkMethodCallback(35, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HSearchInSegmentsParam* request, @@ -3447,7 +3544,7 @@ class MilvusService final { void SetMessageAllocatorFor_HybridSearchInSegments( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>*>( - ::grpc::Service::experimental().GetHandler(34)) + ::grpc::Service::experimental().GetHandler(35)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_HybridSearchInSegments() override { @@ -3466,7 +3563,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetEntityByID() { - ::grpc::Service::experimental().MarkMethodCallback(35, + ::grpc::Service::experimental().MarkMethodCallback(36, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HEntityIdentity* request, @@ -3478,7 +3575,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetEntityByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>*>( - ::grpc::Service::experimental().GetHandler(35)) + ::grpc::Service::experimental().GetHandler(36)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetEntityByID() override { @@ -3497,7 +3594,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_GetEntityIDs() { - ::grpc::Service::experimental().MarkMethodCallback(36, + ::grpc::Service::experimental().MarkMethodCallback(37, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HGetEntityIDsParam* request, @@ -3509,7 +3606,7 @@ class MilvusService final { void SetMessageAllocatorFor_GetEntityIDs( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>*>( - ::grpc::Service::experimental().GetHandler(36)) + ::grpc::Service::experimental().GetHandler(37)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetEntityIDs() override { @@ -3528,7 +3625,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithCallbackMethod_DeleteEntitiesByID() { - ::grpc::Service::experimental().MarkMethodCallback(37, + ::grpc::Service::experimental().MarkMethodCallback(38, new ::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>( [this](::grpc::ServerContext* context, const ::milvus::grpc::HDeleteByIDParam* request, @@ -3540,7 +3637,7 @@ class MilvusService final { void SetMessageAllocatorFor_DeleteEntitiesByID( ::grpc::experimental::MessageAllocator< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>* allocator) { static_cast<::grpc_impl::internal::CallbackUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>*>( - ::grpc::Service::experimental().GetHandler(37)) + ::grpc::Service::experimental().GetHandler(38)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_DeleteEntitiesByID() override { @@ -3553,7 +3650,7 @@ class MilvusService final { } virtual void DeleteEntitiesByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::HDeleteByIDParam* /*request*/, ::milvus::grpc::Status* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; - typedef ExperimentalWithCallbackMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; + typedef ExperimentalWithCallbackMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; template class WithGenericMethod_CreateCollection : public BaseClass { private: @@ -3742,12 +3839,29 @@ class MilvusService final { } }; template + class WithGenericMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_HasPartition() { + ::grpc::Service::MarkMethodGeneric(11); + } + ~WithGenericMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowPartitions() { - ::grpc::Service::MarkMethodGeneric(11); + ::grpc::Service::MarkMethodGeneric(12); } ~WithGenericMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -3764,7 +3878,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DropPartition() { - ::grpc::Service::MarkMethodGeneric(12); + ::grpc::Service::MarkMethodGeneric(13); } ~WithGenericMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -3781,7 +3895,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Insert() { - ::grpc::Service::MarkMethodGeneric(13); + ::grpc::Service::MarkMethodGeneric(14); } ~WithGenericMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -3793,18 +3907,18 @@ class MilvusService final { } }; template - class WithGenericMethod_GetVectorByID : public BaseClass { + class WithGenericMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_GetVectorByID() { - ::grpc::Service::MarkMethodGeneric(14); + WithGenericMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodGeneric(15); } - ~WithGenericMethod_GetVectorByID() override { + ~WithGenericMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -3815,7 +3929,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodGeneric(15); + ::grpc::Service::MarkMethodGeneric(16); } ~WithGenericMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -3832,7 +3946,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Search() { - ::grpc::Service::MarkMethodGeneric(16); + ::grpc::Service::MarkMethodGeneric(17); } ~WithGenericMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -3849,7 +3963,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SearchByID() { - ::grpc::Service::MarkMethodGeneric(17); + ::grpc::Service::MarkMethodGeneric(18); } ~WithGenericMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -3866,7 +3980,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_SearchInFiles() { - ::grpc::Service::MarkMethodGeneric(18); + ::grpc::Service::MarkMethodGeneric(19); } ~WithGenericMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -3883,7 +3997,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Cmd() { - ::grpc::Service::MarkMethodGeneric(19); + ::grpc::Service::MarkMethodGeneric(20); } ~WithGenericMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -3900,7 +4014,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DeleteByID() { - ::grpc::Service::MarkMethodGeneric(20); + ::grpc::Service::MarkMethodGeneric(21); } ~WithGenericMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -3917,7 +4031,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_PreloadCollection() { - ::grpc::Service::MarkMethodGeneric(21); + ::grpc::Service::MarkMethodGeneric(22); } ~WithGenericMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -3934,7 +4048,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Flush() { - ::grpc::Service::MarkMethodGeneric(22); + ::grpc::Service::MarkMethodGeneric(23); } ~WithGenericMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -3951,7 +4065,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_Compact() { - ::grpc::Service::MarkMethodGeneric(23); + ::grpc::Service::MarkMethodGeneric(24); } ~WithGenericMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -3968,7 +4082,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodGeneric(24); + ::grpc::Service::MarkMethodGeneric(25); } ~WithGenericMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -3985,7 +4099,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodGeneric(25); + ::grpc::Service::MarkMethodGeneric(26); } ~WithGenericMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4002,7 +4116,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodGeneric(26); + ::grpc::Service::MarkMethodGeneric(27); } ~WithGenericMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4019,7 +4133,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodGeneric(27); + ::grpc::Service::MarkMethodGeneric(28); } ~WithGenericMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4036,7 +4150,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodGeneric(28); + ::grpc::Service::MarkMethodGeneric(29); } ~WithGenericMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4053,7 +4167,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodGeneric(29); + ::grpc::Service::MarkMethodGeneric(30); } ~WithGenericMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -4070,7 +4184,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodGeneric(30); + ::grpc::Service::MarkMethodGeneric(31); } ~WithGenericMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -4087,7 +4201,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodGeneric(31); + ::grpc::Service::MarkMethodGeneric(32); } ~WithGenericMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4104,7 +4218,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_InsertEntity() { - ::grpc::Service::MarkMethodGeneric(32); + ::grpc::Service::MarkMethodGeneric(33); } ~WithGenericMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4121,7 +4235,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HybridSearch() { - ::grpc::Service::MarkMethodGeneric(33); + ::grpc::Service::MarkMethodGeneric(34); } ~WithGenericMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -4138,7 +4252,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodGeneric(34); + ::grpc::Service::MarkMethodGeneric(35); } ~WithGenericMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -4155,7 +4269,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetEntityByID() { - ::grpc::Service::MarkMethodGeneric(35); + ::grpc::Service::MarkMethodGeneric(36); } ~WithGenericMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -4172,7 +4286,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodGeneric(36); + ::grpc::Service::MarkMethodGeneric(37); } ~WithGenericMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4189,7 +4303,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodGeneric(37); + ::grpc::Service::MarkMethodGeneric(38); } ~WithGenericMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -4421,12 +4535,32 @@ class MilvusService final { } }; template + class WithRawMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_HasPartition() { + ::grpc::Service::MarkMethodRaw(11); + } + ~WithRawMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHasPartition(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowPartitions() { - ::grpc::Service::MarkMethodRaw(11); + ::grpc::Service::MarkMethodRaw(12); } ~WithRawMethod_ShowPartitions() override { BaseClassMustBeDerivedFromService(this); @@ -4437,7 +4571,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowPartitions(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4446,7 +4580,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DropPartition() { - ::grpc::Service::MarkMethodRaw(12); + ::grpc::Service::MarkMethodRaw(13); } ~WithRawMethod_DropPartition() override { BaseClassMustBeDerivedFromService(this); @@ -4457,7 +4591,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropPartition(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4466,7 +4600,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Insert() { - ::grpc::Service::MarkMethodRaw(13); + ::grpc::Service::MarkMethodRaw(14); } ~WithRawMethod_Insert() override { BaseClassMustBeDerivedFromService(this); @@ -4477,27 +4611,27 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsert(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_GetVectorByID : public BaseClass { + class WithRawMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_GetVectorByID() { - ::grpc::Service::MarkMethodRaw(14); + WithRawMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodRaw(15); } - ~WithRawMethod_GetVectorByID() override { + ~WithRawMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestGetVectorByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + void RequestGetVectorsByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4506,7 +4640,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodRaw(15); + ::grpc::Service::MarkMethodRaw(16); } ~WithRawMethod_GetVectorIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4517,7 +4651,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetVectorIDs(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4526,7 +4660,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Search() { - ::grpc::Service::MarkMethodRaw(16); + ::grpc::Service::MarkMethodRaw(17); } ~WithRawMethod_Search() override { BaseClassMustBeDerivedFromService(this); @@ -4537,7 +4671,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearch(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4546,7 +4680,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SearchByID() { - ::grpc::Service::MarkMethodRaw(17); + ::grpc::Service::MarkMethodRaw(18); } ~WithRawMethod_SearchByID() override { BaseClassMustBeDerivedFromService(this); @@ -4557,7 +4691,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4566,7 +4700,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_SearchInFiles() { - ::grpc::Service::MarkMethodRaw(18); + ::grpc::Service::MarkMethodRaw(19); } ~WithRawMethod_SearchInFiles() override { BaseClassMustBeDerivedFromService(this); @@ -4577,7 +4711,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestSearchInFiles(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4586,7 +4720,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Cmd() { - ::grpc::Service::MarkMethodRaw(19); + ::grpc::Service::MarkMethodRaw(20); } ~WithRawMethod_Cmd() override { BaseClassMustBeDerivedFromService(this); @@ -4597,7 +4731,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCmd(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4606,7 +4740,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DeleteByID() { - ::grpc::Service::MarkMethodRaw(20); + ::grpc::Service::MarkMethodRaw(21); } ~WithRawMethod_DeleteByID() override { BaseClassMustBeDerivedFromService(this); @@ -4617,7 +4751,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(20, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4626,7 +4760,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_PreloadCollection() { - ::grpc::Service::MarkMethodRaw(21); + ::grpc::Service::MarkMethodRaw(22); } ~WithRawMethod_PreloadCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4637,7 +4771,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(21, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4646,7 +4780,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Flush() { - ::grpc::Service::MarkMethodRaw(22); + ::grpc::Service::MarkMethodRaw(23); } ~WithRawMethod_Flush() override { BaseClassMustBeDerivedFromService(this); @@ -4657,7 +4791,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestFlush(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(22, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4666,7 +4800,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_Compact() { - ::grpc::Service::MarkMethodRaw(23); + ::grpc::Service::MarkMethodRaw(24); } ~WithRawMethod_Compact() override { BaseClassMustBeDerivedFromService(this); @@ -4677,7 +4811,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCompact(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(23, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4686,7 +4820,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodRaw(24); + ::grpc::Service::MarkMethodRaw(25); } ~WithRawMethod_CreateHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4697,7 +4831,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCreateHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(24, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4706,7 +4840,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodRaw(25); + ::grpc::Service::MarkMethodRaw(26); } ~WithRawMethod_HasHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4717,7 +4851,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHasHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(25, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4726,7 +4860,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodRaw(26); + ::grpc::Service::MarkMethodRaw(27); } ~WithRawMethod_DropHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4737,7 +4871,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDropHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(26, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4746,7 +4880,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodRaw(27); + ::grpc::Service::MarkMethodRaw(28); } ~WithRawMethod_DescribeHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4757,7 +4891,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDescribeHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(27, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4766,7 +4900,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodRaw(28); + ::grpc::Service::MarkMethodRaw(29); } ~WithRawMethod_CountHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4777,7 +4911,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestCountHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(28, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4786,7 +4920,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodRaw(29); + ::grpc::Service::MarkMethodRaw(30); } ~WithRawMethod_ShowHybridCollections() override { BaseClassMustBeDerivedFromService(this); @@ -4797,7 +4931,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollections(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(29, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4806,7 +4940,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodRaw(30); + ::grpc::Service::MarkMethodRaw(31); } ~WithRawMethod_ShowHybridCollectionInfo() override { BaseClassMustBeDerivedFromService(this); @@ -4817,7 +4951,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestShowHybridCollectionInfo(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(30, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4826,7 +4960,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodRaw(31); + ::grpc::Service::MarkMethodRaw(32); } ~WithRawMethod_PreloadHybridCollection() override { BaseClassMustBeDerivedFromService(this); @@ -4837,7 +4971,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestPreloadHybridCollection(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(31, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4846,7 +4980,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_InsertEntity() { - ::grpc::Service::MarkMethodRaw(32); + ::grpc::Service::MarkMethodRaw(33); } ~WithRawMethod_InsertEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4857,7 +4991,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestInsertEntity(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(32, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4866,7 +5000,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HybridSearch() { - ::grpc::Service::MarkMethodRaw(33); + ::grpc::Service::MarkMethodRaw(34); } ~WithRawMethod_HybridSearch() override { BaseClassMustBeDerivedFromService(this); @@ -4877,7 +5011,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearch(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(33, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4886,7 +5020,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodRaw(34); + ::grpc::Service::MarkMethodRaw(35); } ~WithRawMethod_HybridSearchInSegments() override { BaseClassMustBeDerivedFromService(this); @@ -4897,7 +5031,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestHybridSearchInSegments(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(34, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4906,7 +5040,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetEntityByID() { - ::grpc::Service::MarkMethodRaw(35); + ::grpc::Service::MarkMethodRaw(36); } ~WithRawMethod_GetEntityByID() override { BaseClassMustBeDerivedFromService(this); @@ -4917,7 +5051,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(35, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4926,7 +5060,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodRaw(36); + ::grpc::Service::MarkMethodRaw(37); } ~WithRawMethod_GetEntityIDs() override { BaseClassMustBeDerivedFromService(this); @@ -4937,7 +5071,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetEntityIDs(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(36, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4946,7 +5080,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodRaw(37); + ::grpc::Service::MarkMethodRaw(38); } ~WithRawMethod_DeleteEntitiesByID() override { BaseClassMustBeDerivedFromService(this); @@ -4957,7 +5091,7 @@ class MilvusService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestDeleteEntitiesByID(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(37, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -5236,12 +5370,37 @@ class MilvusService final { virtual void CreatePartition(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithRawCallbackMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_HasPartition() { + ::grpc::Service::experimental().MarkMethodRawCallback(11, + new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->HasPartition(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void HasPartition(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithRawCallbackMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowPartitions() { - ::grpc::Service::experimental().MarkMethodRawCallback(11, + ::grpc::Service::experimental().MarkMethodRawCallback(12, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5266,7 +5425,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DropPartition() { - ::grpc::Service::experimental().MarkMethodRawCallback(12, + ::grpc::Service::experimental().MarkMethodRawCallback(13, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5291,7 +5450,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Insert() { - ::grpc::Service::experimental().MarkMethodRawCallback(13, + ::grpc::Service::experimental().MarkMethodRawCallback(14, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5311,29 +5470,29 @@ class MilvusService final { virtual void Insert(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template - class ExperimentalWithRawCallbackMethod_GetVectorByID : public BaseClass { + class ExperimentalWithRawCallbackMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_GetVectorByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(14, + ExperimentalWithRawCallbackMethod_GetVectorsByID() { + ::grpc::Service::experimental().MarkMethodRawCallback(15, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { - this->GetVectorByID(context, request, response, controller); + this->GetVectorsByID(context, request, response, controller); })); } - ~ExperimentalWithRawCallbackMethod_GetVectorByID() override { + ~ExperimentalWithRawCallbackMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual void GetVectorByID(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + virtual void GetVectorsByID(::grpc::ServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template class ExperimentalWithRawCallbackMethod_GetVectorIDs : public BaseClass { @@ -5341,7 +5500,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetVectorIDs() { - ::grpc::Service::experimental().MarkMethodRawCallback(15, + ::grpc::Service::experimental().MarkMethodRawCallback(16, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5366,7 +5525,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Search() { - ::grpc::Service::experimental().MarkMethodRawCallback(16, + ::grpc::Service::experimental().MarkMethodRawCallback(17, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5391,7 +5550,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_SearchByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(17, + ::grpc::Service::experimental().MarkMethodRawCallback(18, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5416,7 +5575,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_SearchInFiles() { - ::grpc::Service::experimental().MarkMethodRawCallback(18, + ::grpc::Service::experimental().MarkMethodRawCallback(19, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5441,7 +5600,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Cmd() { - ::grpc::Service::experimental().MarkMethodRawCallback(19, + ::grpc::Service::experimental().MarkMethodRawCallback(20, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5466,7 +5625,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DeleteByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(20, + ::grpc::Service::experimental().MarkMethodRawCallback(21, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5491,7 +5650,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_PreloadCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(21, + ::grpc::Service::experimental().MarkMethodRawCallback(22, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5516,7 +5675,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Flush() { - ::grpc::Service::experimental().MarkMethodRawCallback(22, + ::grpc::Service::experimental().MarkMethodRawCallback(23, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5541,7 +5700,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_Compact() { - ::grpc::Service::experimental().MarkMethodRawCallback(23, + ::grpc::Service::experimental().MarkMethodRawCallback(24, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5566,7 +5725,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_CreateHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(24, + ::grpc::Service::experimental().MarkMethodRawCallback(25, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5591,7 +5750,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HasHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(25, + ::grpc::Service::experimental().MarkMethodRawCallback(26, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5616,7 +5775,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DropHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(26, + ::grpc::Service::experimental().MarkMethodRawCallback(27, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5641,7 +5800,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DescribeHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(27, + ::grpc::Service::experimental().MarkMethodRawCallback(28, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5666,7 +5825,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_CountHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(28, + ::grpc::Service::experimental().MarkMethodRawCallback(29, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5691,7 +5850,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowHybridCollections() { - ::grpc::Service::experimental().MarkMethodRawCallback(29, + ::grpc::Service::experimental().MarkMethodRawCallback(30, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5716,7 +5875,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_ShowHybridCollectionInfo() { - ::grpc::Service::experimental().MarkMethodRawCallback(30, + ::grpc::Service::experimental().MarkMethodRawCallback(31, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5741,7 +5900,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_PreloadHybridCollection() { - ::grpc::Service::experimental().MarkMethodRawCallback(31, + ::grpc::Service::experimental().MarkMethodRawCallback(32, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5766,7 +5925,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_InsertEntity() { - ::grpc::Service::experimental().MarkMethodRawCallback(32, + ::grpc::Service::experimental().MarkMethodRawCallback(33, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5791,7 +5950,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HybridSearch() { - ::grpc::Service::experimental().MarkMethodRawCallback(33, + ::grpc::Service::experimental().MarkMethodRawCallback(34, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5816,7 +5975,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_HybridSearchInSegments() { - ::grpc::Service::experimental().MarkMethodRawCallback(34, + ::grpc::Service::experimental().MarkMethodRawCallback(35, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5841,7 +6000,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetEntityByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(35, + ::grpc::Service::experimental().MarkMethodRawCallback(36, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5866,7 +6025,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_GetEntityIDs() { - ::grpc::Service::experimental().MarkMethodRawCallback(36, + ::grpc::Service::experimental().MarkMethodRawCallback(37, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5891,7 +6050,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: ExperimentalWithRawCallbackMethod_DeleteEntitiesByID() { - ::grpc::Service::experimental().MarkMethodRawCallback(37, + ::grpc::Service::experimental().MarkMethodRawCallback(38, new ::grpc_impl::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -6131,12 +6290,32 @@ class MilvusService final { virtual ::grpc::Status StreamedCreatePartition(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::PartitionParam,::milvus::grpc::Status>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_HasPartition : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_HasPartition() { + ::grpc::Service::MarkMethodStreamed(11, + new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::BoolReply>(std::bind(&WithStreamedUnaryMethod_HasPartition::StreamedHasPartition, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_HasPartition() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status HasPartition(::grpc::ServerContext* /*context*/, const ::milvus::grpc::PartitionParam* /*request*/, ::milvus::grpc::BoolReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedHasPartition(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::PartitionParam,::milvus::grpc::BoolReply>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_ShowPartitions : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowPartitions() { - ::grpc::Service::MarkMethodStreamed(11, + ::grpc::Service::MarkMethodStreamed(12, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::PartitionList>(std::bind(&WithStreamedUnaryMethod_ShowPartitions::StreamedShowPartitions, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowPartitions() override { @@ -6156,7 +6335,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DropPartition() { - ::grpc::Service::MarkMethodStreamed(12, + ::grpc::Service::MarkMethodStreamed(13, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::PartitionParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DropPartition::StreamedDropPartition, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DropPartition() override { @@ -6176,7 +6355,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Insert() { - ::grpc::Service::MarkMethodStreamed(13, + ::grpc::Service::MarkMethodStreamed(14, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::InsertParam, ::milvus::grpc::VectorIds>(std::bind(&WithStreamedUnaryMethod_Insert::StreamedInsert, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Insert() override { @@ -6191,24 +6370,24 @@ class MilvusService final { virtual ::grpc::Status StreamedInsert(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::InsertParam,::milvus::grpc::VectorIds>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_GetVectorByID : public BaseClass { + class WithStreamedUnaryMethod_GetVectorsByID : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_GetVectorByID() { - ::grpc::Service::MarkMethodStreamed(14, - new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::VectorIdentity, ::milvus::grpc::VectorData>(std::bind(&WithStreamedUnaryMethod_GetVectorByID::StreamedGetVectorByID, this, std::placeholders::_1, std::placeholders::_2))); + WithStreamedUnaryMethod_GetVectorsByID() { + ::grpc::Service::MarkMethodStreamed(15, + new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::VectorsIdentity, ::milvus::grpc::VectorsData>(std::bind(&WithStreamedUnaryMethod_GetVectorsByID::StreamedGetVectorsByID, this, std::placeholders::_1, std::placeholders::_2))); } - ~WithStreamedUnaryMethod_GetVectorByID() override { + ~WithStreamedUnaryMethod_GetVectorsByID() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status GetVectorByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorIdentity* /*request*/, ::milvus::grpc::VectorData* /*response*/) override { + ::grpc::Status GetVectorsByID(::grpc::ServerContext* /*context*/, const ::milvus::grpc::VectorsIdentity* /*request*/, ::milvus::grpc::VectorsData* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status StreamedGetVectorByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::VectorIdentity,::milvus::grpc::VectorData>* server_unary_streamer) = 0; + virtual ::grpc::Status StreamedGetVectorsByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::VectorsIdentity,::milvus::grpc::VectorsData>* server_unary_streamer) = 0; }; template class WithStreamedUnaryMethod_GetVectorIDs : public BaseClass { @@ -6216,7 +6395,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetVectorIDs() { - ::grpc::Service::MarkMethodStreamed(15, + ::grpc::Service::MarkMethodStreamed(16, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::GetVectorIDsParam, ::milvus::grpc::VectorIds>(std::bind(&WithStreamedUnaryMethod_GetVectorIDs::StreamedGetVectorIDs, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetVectorIDs() override { @@ -6236,7 +6415,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Search() { - ::grpc::Service::MarkMethodStreamed(16, + ::grpc::Service::MarkMethodStreamed(17, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_Search::StreamedSearch, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Search() override { @@ -6256,7 +6435,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SearchByID() { - ::grpc::Service::MarkMethodStreamed(17, + ::grpc::Service::MarkMethodStreamed(18, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchByIDParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_SearchByID::StreamedSearchByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_SearchByID() override { @@ -6276,7 +6455,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_SearchInFiles() { - ::grpc::Service::MarkMethodStreamed(18, + ::grpc::Service::MarkMethodStreamed(19, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::SearchInFilesParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_SearchInFiles::StreamedSearchInFiles, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_SearchInFiles() override { @@ -6296,7 +6475,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Cmd() { - ::grpc::Service::MarkMethodStreamed(19, + ::grpc::Service::MarkMethodStreamed(20, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::StringReply>(std::bind(&WithStreamedUnaryMethod_Cmd::StreamedCmd, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Cmd() override { @@ -6316,7 +6495,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DeleteByID() { - ::grpc::Service::MarkMethodStreamed(20, + ::grpc::Service::MarkMethodStreamed(21, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::DeleteByIDParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DeleteByID::StreamedDeleteByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DeleteByID() override { @@ -6336,7 +6515,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_PreloadCollection() { - ::grpc::Service::MarkMethodStreamed(21, + ::grpc::Service::MarkMethodStreamed(22, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_PreloadCollection::StreamedPreloadCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_PreloadCollection() override { @@ -6356,7 +6535,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Flush() { - ::grpc::Service::MarkMethodStreamed(22, + ::grpc::Service::MarkMethodStreamed(23, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::FlushParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_Flush::StreamedFlush, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Flush() override { @@ -6376,7 +6555,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_Compact() { - ::grpc::Service::MarkMethodStreamed(23, + ::grpc::Service::MarkMethodStreamed(24, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_Compact::StreamedCompact, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_Compact() override { @@ -6396,7 +6575,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_CreateHybridCollection() { - ::grpc::Service::MarkMethodStreamed(24, + ::grpc::Service::MarkMethodStreamed(25, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Mapping, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_CreateHybridCollection::StreamedCreateHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_CreateHybridCollection() override { @@ -6416,7 +6595,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HasHybridCollection() { - ::grpc::Service::MarkMethodStreamed(25, + ::grpc::Service::MarkMethodStreamed(26, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::BoolReply>(std::bind(&WithStreamedUnaryMethod_HasHybridCollection::StreamedHasHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HasHybridCollection() override { @@ -6436,7 +6615,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DropHybridCollection() { - ::grpc::Service::MarkMethodStreamed(26, + ::grpc::Service::MarkMethodStreamed(27, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DropHybridCollection::StreamedDropHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DropHybridCollection() override { @@ -6456,7 +6635,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DescribeHybridCollection() { - ::grpc::Service::MarkMethodStreamed(27, + ::grpc::Service::MarkMethodStreamed(28, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Mapping>(std::bind(&WithStreamedUnaryMethod_DescribeHybridCollection::StreamedDescribeHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DescribeHybridCollection() override { @@ -6476,7 +6655,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_CountHybridCollection() { - ::grpc::Service::MarkMethodStreamed(28, + ::grpc::Service::MarkMethodStreamed(29, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionRowCount>(std::bind(&WithStreamedUnaryMethod_CountHybridCollection::StreamedCountHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_CountHybridCollection() override { @@ -6496,7 +6675,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowHybridCollections() { - ::grpc::Service::MarkMethodStreamed(29, + ::grpc::Service::MarkMethodStreamed(30, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::Command, ::milvus::grpc::MappingList>(std::bind(&WithStreamedUnaryMethod_ShowHybridCollections::StreamedShowHybridCollections, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowHybridCollections() override { @@ -6516,7 +6695,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_ShowHybridCollectionInfo() { - ::grpc::Service::MarkMethodStreamed(30, + ::grpc::Service::MarkMethodStreamed(31, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::CollectionInfo>(std::bind(&WithStreamedUnaryMethod_ShowHybridCollectionInfo::StreamedShowHybridCollectionInfo, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ShowHybridCollectionInfo() override { @@ -6536,7 +6715,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_PreloadHybridCollection() { - ::grpc::Service::MarkMethodStreamed(31, + ::grpc::Service::MarkMethodStreamed(32, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::CollectionName, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_PreloadHybridCollection::StreamedPreloadHybridCollection, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_PreloadHybridCollection() override { @@ -6556,7 +6735,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_InsertEntity() { - ::grpc::Service::MarkMethodStreamed(32, + ::grpc::Service::MarkMethodStreamed(33, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HInsertParam, ::milvus::grpc::HEntityIDs>(std::bind(&WithStreamedUnaryMethod_InsertEntity::StreamedInsertEntity, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_InsertEntity() override { @@ -6576,7 +6755,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HybridSearch() { - ::grpc::Service::MarkMethodStreamed(33, + ::grpc::Service::MarkMethodStreamed(34, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HSearchParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_HybridSearch::StreamedHybridSearch, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HybridSearch() override { @@ -6596,7 +6775,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_HybridSearchInSegments() { - ::grpc::Service::MarkMethodStreamed(34, + ::grpc::Service::MarkMethodStreamed(35, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HSearchInSegmentsParam, ::milvus::grpc::TopKQueryResult>(std::bind(&WithStreamedUnaryMethod_HybridSearchInSegments::StreamedHybridSearchInSegments, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_HybridSearchInSegments() override { @@ -6616,7 +6795,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetEntityByID() { - ::grpc::Service::MarkMethodStreamed(35, + ::grpc::Service::MarkMethodStreamed(36, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HEntityIdentity, ::milvus::grpc::HEntity>(std::bind(&WithStreamedUnaryMethod_GetEntityByID::StreamedGetEntityByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetEntityByID() override { @@ -6636,7 +6815,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_GetEntityIDs() { - ::grpc::Service::MarkMethodStreamed(36, + ::grpc::Service::MarkMethodStreamed(37, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HGetEntityIDsParam, ::milvus::grpc::HEntityIDs>(std::bind(&WithStreamedUnaryMethod_GetEntityIDs::StreamedGetEntityIDs, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetEntityIDs() override { @@ -6656,7 +6835,7 @@ class MilvusService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_DeleteEntitiesByID() { - ::grpc::Service::MarkMethodStreamed(37, + ::grpc::Service::MarkMethodStreamed(38, new ::grpc::internal::StreamedUnaryHandler< ::milvus::grpc::HDeleteByIDParam, ::milvus::grpc::Status>(std::bind(&WithStreamedUnaryMethod_DeleteEntitiesByID::StreamedDeleteEntitiesByID, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_DeleteEntitiesByID() override { @@ -6670,9 +6849,9 @@ class MilvusService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedDeleteEntitiesByID(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::milvus::grpc::HDeleteByIDParam,::milvus::grpc::Status>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_CreateCollection > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/sdk/grpc-gen/gen-milvus/milvus.pb.cc b/sdk/grpc-gen/gen-milvus/milvus.pb.cc index c9b59523fe..289aea93bf 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.pb.cc +++ b/sdk/grpc-gen/gen-milvus/milvus.pb.cc @@ -24,11 +24,9 @@ extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_HSearchParam_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Mapping_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_PartitionStat_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_RangeQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RowRecord_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_SearchParam_milvus_2eproto; -extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentStat_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_status_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Status_status_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_TermQuery_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorFieldParam_milvus_2eproto; @@ -116,26 +114,18 @@ class DeleteByIDParamDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; } _DeleteByIDParam_default_instance_; -class SegmentStatDefaultTypeInternal { - public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _SegmentStat_default_instance_; -class PartitionStatDefaultTypeInternal { - public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _PartitionStat_default_instance_; class CollectionInfoDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; } _CollectionInfo_default_instance_; -class VectorIdentityDefaultTypeInternal { +class VectorsIdentityDefaultTypeInternal { public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _VectorIdentity_default_instance_; -class VectorDataDefaultTypeInternal { + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VectorsIdentity_default_instance_; +class VectorsDataDefaultTypeInternal { public: - ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; -} _VectorData_default_instance_; + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VectorsData_default_instance_; class GetVectorIDsParamDefaultTypeInternal { public: ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; @@ -314,10 +304,9 @@ static void InitDefaultsscc_info_CollectionInfo_milvus_2eproto() { ::milvus::grpc::CollectionInfo::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_CollectionInfo_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_CollectionInfo_milvus_2eproto}, { - &scc_info_Status_status_2eproto.base, - &scc_info_PartitionStat_milvus_2eproto.base,}}; +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionInfo_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_CollectionInfo_milvus_2eproto}, { + &scc_info_Status_status_2eproto.base,}}; static void InitDefaultsscc_info_CollectionName_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -754,21 +743,6 @@ static void InitDefaultsscc_info_PartitionParam_milvus_2eproto() { ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PartitionParam_milvus_2eproto = {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_PartitionParam_milvus_2eproto}, {}}; -static void InitDefaultsscc_info_PartitionStat_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_PartitionStat_default_instance_; - new (ptr) ::milvus::grpc::PartitionStat(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::PartitionStat::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_PartitionStat_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_PartitionStat_milvus_2eproto}, { - &scc_info_SegmentStat_milvus_2eproto.base,}}; - static void InitDefaultsscc_info_RangeQuery_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -845,20 +819,6 @@ static void InitDefaultsscc_info_SearchParam_milvus_2eproto() { &scc_info_RowRecord_milvus_2eproto.base, &scc_info_KeyValuePair_milvus_2eproto.base,}}; -static void InitDefaultsscc_info_SegmentStat_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_SegmentStat_default_instance_; - new (ptr) ::milvus::grpc::SegmentStat(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::SegmentStat::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SegmentStat_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_SegmentStat_milvus_2eproto}, {}}; - static void InitDefaultsscc_info_StringReply_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -904,22 +864,6 @@ static void InitDefaultsscc_info_TopKQueryResult_milvus_2eproto() { {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_TopKQueryResult_milvus_2eproto}, { &scc_info_Status_status_2eproto.base,}}; -static void InitDefaultsscc_info_VectorData_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_VectorData_default_instance_; - new (ptr) ::milvus::grpc::VectorData(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::VectorData::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VectorData_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_VectorData_milvus_2eproto}, { - &scc_info_Status_status_2eproto.base, - &scc_info_RowRecord_milvus_2eproto.base,}}; - static void InitDefaultsscc_info_VectorFieldParam_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -949,20 +893,6 @@ static void InitDefaultsscc_info_VectorFieldValue_milvus_2eproto() { {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_VectorFieldValue_milvus_2eproto}, { &scc_info_RowRecord_milvus_2eproto.base,}}; -static void InitDefaultsscc_info_VectorIdentity_milvus_2eproto() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - - { - void* ptr = &::milvus::grpc::_VectorIdentity_default_instance_; - new (ptr) ::milvus::grpc::VectorIdentity(); - ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); - } - ::milvus::grpc::VectorIdentity::InitAsDefaultInstance(); -} - -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorIdentity_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_VectorIdentity_milvus_2eproto}, {}}; - static void InitDefaultsscc_info_VectorIds_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -994,7 +924,37 @@ static void InitDefaultsscc_info_VectorQuery_milvus_2eproto() { &scc_info_RowRecord_milvus_2eproto.base, &scc_info_KeyValuePair_milvus_2eproto.base,}}; -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[50]; +static void InitDefaultsscc_info_VectorsData_milvus_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::milvus::grpc::_VectorsData_default_instance_; + new (ptr) ::milvus::grpc::VectorsData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::milvus::grpc::VectorsData::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VectorsData_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_VectorsData_milvus_2eproto}, { + &scc_info_Status_status_2eproto.base, + &scc_info_RowRecord_milvus_2eproto.base,}}; + +static void InitDefaultsscc_info_VectorsIdentity_milvus_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::milvus::grpc::_VectorsIdentity_default_instance_; + new (ptr) ::milvus::grpc::VectorsIdentity(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } + ::milvus::grpc::VectorsIdentity::InitAsDefaultInstance(); +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VectorsIdentity_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_VectorsIdentity_milvus_2eproto}, {}}; + +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[48]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_milvus_2eproto[3]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_milvus_2eproto = nullptr; @@ -1092,7 +1052,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, collection_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, partition_tag_array_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, id_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, id_array_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, topk_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::SearchByIDParam, extra_params_), ~0u, // no _has_bits_ @@ -1154,44 +1114,26 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::grpc::DeleteByIDParam, collection_name_), PROTOBUF_FIELD_OFFSET(::milvus::grpc::DeleteByIDParam, id_array_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, segment_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, index_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::SegmentStat, data_size_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, tag_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, total_row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::PartitionStat, segments_stat_), - ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, status_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, total_row_count_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, partitions_stat_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::CollectionInfo, json_info_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, collection_name_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorIdentity, id_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, collection_name_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsIdentity, id_array_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, status_), - PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorData, vector_data_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, status_), + PROTOBUF_FIELD_OFFSET(::milvus::grpc::VectorsData, vectors_data_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::grpc::GetVectorIDsParam, _internal_metadata_), ~0u, // no _extensions_ @@ -1422,36 +1364,34 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 132, -1, sizeof(::milvus::grpc::IndexParam)}, { 141, -1, sizeof(::milvus::grpc::FlushParam)}, { 147, -1, sizeof(::milvus::grpc::DeleteByIDParam)}, - { 154, -1, sizeof(::milvus::grpc::SegmentStat)}, - { 163, -1, sizeof(::milvus::grpc::PartitionStat)}, - { 171, -1, sizeof(::milvus::grpc::CollectionInfo)}, - { 179, -1, sizeof(::milvus::grpc::VectorIdentity)}, - { 186, -1, sizeof(::milvus::grpc::VectorData)}, - { 193, -1, sizeof(::milvus::grpc::GetVectorIDsParam)}, - { 200, -1, sizeof(::milvus::grpc::VectorFieldParam)}, - { 206, -1, sizeof(::milvus::grpc::FieldType)}, - { 214, -1, sizeof(::milvus::grpc::FieldParam)}, - { 223, -1, sizeof(::milvus::grpc::VectorFieldValue)}, - { 229, -1, sizeof(::milvus::grpc::FieldValue)}, - { 242, -1, sizeof(::milvus::grpc::Mapping)}, - { 251, -1, sizeof(::milvus::grpc::MappingList)}, - { 258, -1, sizeof(::milvus::grpc::TermQuery)}, - { 268, -1, sizeof(::milvus::grpc::CompareExpr)}, - { 275, -1, sizeof(::milvus::grpc::RangeQuery)}, - { 284, -1, sizeof(::milvus::grpc::VectorQuery)}, - { 294, -1, sizeof(::milvus::grpc::BooleanQuery)}, - { 301, -1, sizeof(::milvus::grpc::GeneralQuery)}, - { 311, -1, sizeof(::milvus::grpc::HSearchParam)}, - { 320, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, - { 327, -1, sizeof(::milvus::grpc::AttrRecord)}, - { 333, -1, sizeof(::milvus::grpc::HEntity)}, - { 344, -1, sizeof(::milvus::grpc::HQueryResult)}, - { 354, -1, sizeof(::milvus::grpc::HInsertParam)}, - { 364, -1, sizeof(::milvus::grpc::HEntityIdentity)}, - { 371, -1, sizeof(::milvus::grpc::HEntityIDs)}, - { 378, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, - { 385, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, - { 392, -1, sizeof(::milvus::grpc::HIndexParam)}, + { 154, -1, sizeof(::milvus::grpc::CollectionInfo)}, + { 161, -1, sizeof(::milvus::grpc::VectorsIdentity)}, + { 168, -1, sizeof(::milvus::grpc::VectorsData)}, + { 175, -1, sizeof(::milvus::grpc::GetVectorIDsParam)}, + { 182, -1, sizeof(::milvus::grpc::VectorFieldParam)}, + { 188, -1, sizeof(::milvus::grpc::FieldType)}, + { 196, -1, sizeof(::milvus::grpc::FieldParam)}, + { 205, -1, sizeof(::milvus::grpc::VectorFieldValue)}, + { 211, -1, sizeof(::milvus::grpc::FieldValue)}, + { 224, -1, sizeof(::milvus::grpc::Mapping)}, + { 233, -1, sizeof(::milvus::grpc::MappingList)}, + { 240, -1, sizeof(::milvus::grpc::TermQuery)}, + { 250, -1, sizeof(::milvus::grpc::CompareExpr)}, + { 257, -1, sizeof(::milvus::grpc::RangeQuery)}, + { 266, -1, sizeof(::milvus::grpc::VectorQuery)}, + { 276, -1, sizeof(::milvus::grpc::BooleanQuery)}, + { 283, -1, sizeof(::milvus::grpc::GeneralQuery)}, + { 293, -1, sizeof(::milvus::grpc::HSearchParam)}, + { 302, -1, sizeof(::milvus::grpc::HSearchInSegmentsParam)}, + { 309, -1, sizeof(::milvus::grpc::AttrRecord)}, + { 315, -1, sizeof(::milvus::grpc::HEntity)}, + { 326, -1, sizeof(::milvus::grpc::HQueryResult)}, + { 336, -1, sizeof(::milvus::grpc::HInsertParam)}, + { 346, -1, sizeof(::milvus::grpc::HEntityIdentity)}, + { 353, -1, sizeof(::milvus::grpc::HEntityIDs)}, + { 360, -1, sizeof(::milvus::grpc::HGetEntityIDsParam)}, + { 367, -1, sizeof(::milvus::grpc::HDeleteByIDParam)}, + { 374, -1, sizeof(::milvus::grpc::HIndexParam)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -1475,11 +1415,9 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::milvus::grpc::_IndexParam_default_instance_), reinterpret_cast(&::milvus::grpc::_FlushParam_default_instance_), reinterpret_cast(&::milvus::grpc::_DeleteByIDParam_default_instance_), - reinterpret_cast(&::milvus::grpc::_SegmentStat_default_instance_), - reinterpret_cast(&::milvus::grpc::_PartitionStat_default_instance_), reinterpret_cast(&::milvus::grpc::_CollectionInfo_default_instance_), - reinterpret_cast(&::milvus::grpc::_VectorIdentity_default_instance_), - reinterpret_cast(&::milvus::grpc::_VectorData_default_instance_), + reinterpret_cast(&::milvus::grpc::_VectorsIdentity_default_instance_), + reinterpret_cast(&::milvus::grpc::_VectorsData_default_instance_), reinterpret_cast(&::milvus::grpc::_GetVectorIDsParam_default_instance_), reinterpret_cast(&::milvus::grpc::_VectorFieldParam_default_instance_), reinterpret_cast(&::milvus::grpc::_FieldType_default_instance_), @@ -1536,194 +1474,189 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.KeyV" "aluePair\"[\n\022SearchInFilesParam\022\025\n\rfile_i" "d_array\030\001 \003(\t\022.\n\014search_param\030\002 \001(\0132\030.mi" - "lvus.grpc.SearchParam\"\222\001\n\017SearchByIDPara" + "lvus.grpc.SearchParam\"\230\001\n\017SearchByIDPara" "m\022\027\n\017collection_name\030\001 \001(\t\022\033\n\023partition_" - "tag_array\030\002 \003(\t\022\n\n\002id\030\003 \001(\003\022\014\n\004topk\030\004 \001(" - "\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.Ke" - "yValuePair\"g\n\017TopKQueryResult\022#\n\006status\030" - "\001 \001(\0132\023.milvus.grpc.Status\022\017\n\007row_num\030\002 " - "\001(\003\022\013\n\003ids\030\003 \003(\003\022\021\n\tdistances\030\004 \003(\002\"H\n\013S" - "tringReply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc" - ".Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tBoolRep" - "ly\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022" - "\022\n\nbool_reply\030\002 \001(\010\"W\n\022CollectionRowCoun" - "t\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\034" - "\n\024collection_row_count\030\002 \001(\003\"\026\n\007Command\022" - "\013\n\003cmd\030\001 \001(\t\"\217\001\n\nIndexParam\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022\027\n\017collection_n" - "ame\030\002 \001(\t\022\022\n\nindex_type\030\003 \001(\005\022/\n\014extra_p" - "arams\030\004 \003(\0132\031.milvus.grpc.KeyValuePair\"+" - "\n\nFlushParam\022\035\n\025collection_name_array\030\001 " - "\003(\t\"<\n\017DeleteByIDParam\022\027\n\017collection_nam" - "e\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"]\n\013SegmentStat" - "\022\024\n\014segment_name\030\001 \001(\t\022\021\n\trow_count\030\002 \001(" - "\003\022\022\n\nindex_name\030\003 \001(\t\022\021\n\tdata_size\030\004 \001(\003" - "\"f\n\rPartitionStat\022\013\n\003tag\030\001 \001(\t\022\027\n\017total_" - "row_count\030\002 \001(\003\022/\n\rsegments_stat\030\003 \003(\0132\030" - ".milvus.grpc.SegmentStat\"\203\001\n\016CollectionI" - "nfo\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" - "\022\027\n\017total_row_count\030\002 \001(\003\0223\n\017partitions_" - "stat\030\003 \003(\0132\032.milvus.grpc.PartitionStat\"5" - "\n\016VectorIdentity\022\027\n\017collection_name\030\001 \001(" - "\t\022\n\n\002id\030\002 \001(\003\"^\n\nVectorData\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022+\n\013vector_data\030" - "\002 \001(\0132\026.milvus.grpc.RowRecord\"B\n\021GetVect" - "orIDsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014s" - "egment_name\030\002 \001(\t\"%\n\020VectorFieldParam\022\021\n" - "\tdimension\030\001 \001(\003\"w\n\tFieldType\022*\n\tdata_ty" - "pe\030\001 \001(\0162\025.milvus.grpc.DataTypeH\000\0225\n\014vec" - "tor_param\030\002 \001(\0132\035.milvus.grpc.VectorFiel" - "dParamH\000B\007\n\005value\"}\n\nFieldParam\022\n\n\002id\030\001 " - "\001(\004\022\014\n\004name\030\002 \001(\t\022$\n\004type\030\003 \001(\0132\026.milvus" - ".grpc.FieldType\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair\"9\n\020VectorFieldV" - "alue\022%\n\005value\030\001 \003(\0132\026.milvus.grpc.RowRec" - "ord\"\327\001\n\nFieldValue\022\025\n\013int32_value\030\001 \001(\005H" - "\000\022\025\n\013int64_value\030\002 \001(\003H\000\022\025\n\013float_value\030" - "\003 \001(\002H\000\022\026\n\014double_value\030\004 \001(\001H\000\022\026\n\014strin" - "g_value\030\005 \001(\tH\000\022\024\n\nbool_value\030\006 \001(\010H\000\0225\n" - "\014vector_value\030\007 \001(\0132\035.milvus.grpc.Vector" - "FieldValueH\000B\007\n\005value\"\207\001\n\007Mapping\022#\n\006sta" - "tus\030\001 \001(\0132\023.milvus.grpc.Status\022\025\n\rcollec" - "tion_id\030\002 \001(\004\022\027\n\017collection_name\030\003 \001(\t\022\'" - "\n\006fields\030\004 \003(\0132\027.milvus.grpc.FieldParam\"" - "^\n\013MappingList\022#\n\006status\030\001 \001(\0132\023.milvus." - "grpc.Status\022*\n\014mapping_list\030\002 \003(\0132\024.milv" - "us.grpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_n" - "ame\030\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003" - " \001(\003\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(" - "\0132\031.milvus.grpc.KeyValuePair\"N\n\013CompareE" - "xpr\022.\n\010operator\030\001 \001(\0162\034.milvus.grpc.Comp" - "areOperator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQu" - "ery\022\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\013" - "2\030.milvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(" - "\002\022/\n\014extra_params\030\004 \003(\0132\031.milvus.grpc.Ke" - "yValuePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name" - "\030\001 \001(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003" - " \003(\0132\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001" - "(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.K" - "eyValuePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001" - "(\0162\022.milvus.grpc.Occur\0220\n\rgeneral_query\030" - "\002 \003(\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014Gen" - "eralQuery\0222\n\rboolean_query\030\001 \001(\0132\031.milvu" - "s.grpc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(" - "\0132\026.milvus.grpc.TermQueryH\000\022.\n\013range_que" - "ry\030\003 \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014v" - "ector_query\030\004 \001(\0132\030.milvus.grpc.VectorQu" - "eryH\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017colle" - "ction_name\030\001 \001(\t\022\033\n\023partition_tag_array\030" - "\002 \003(\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.gr" - "pc.GeneralQuery\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair\"c\n\026HSearchInSeg" - "mentsParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014" - "search_param\030\002 \001(\0132\031.milvus.grpc.HSearch" - "Param\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007H" - "Entity\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Sta" - "tus\022\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 " - "\003(\t\022\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001" - "(\003\022.\n\rresult_values\030\006 \003(\0132\027.milvus.grpc." - "FieldValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 " - "\001(\0132\023.milvus.grpc.Status\022&\n\010entities\030\002 \003" - "(\0132\024.milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(" - "\003\022\r\n\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014H" - "InsertParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\r" - "partition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024." - "milvus.grpc.HEntity\022\027\n\017entity_id_array\030\004" - " \003(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc" - ".KeyValuePair\"6\n\017HEntityIdentity\022\027\n\017coll" - "ection_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntity" - "IDs\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status" - "\022\027\n\017entity_id_array\030\002 \003(\003\"C\n\022HGetEntityI" - "DsParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segm" - "ent_name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017co" - "llection_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001" - "\n\013HIndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.g" - "rpc.Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\ni" - "ndex_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031." - "milvus.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n" - "\004NULL\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022" - "\t\n\005INT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOA" - "T\020(\022\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217" - "N*C\n\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n" - "\002EQ\020\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022" - "\013\n\007INVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MU" - "ST_NOT\020\0032\212\026\n\rMilvusService\022H\n\020CreateColl" - "ection\022\035.milvus.grpc.CollectionSchema\032\023." - "milvus.grpc.Status\"\000\022F\n\rHasCollection\022\033." - "milvus.grpc.CollectionName\032\026.milvus.grpc" - ".BoolReply\"\000\022R\n\022DescribeCollection\022\033.mil" - "vus.grpc.CollectionName\032\035.milvus.grpc.Co" - "llectionSchema\"\000\022Q\n\017CountCollection\022\033.mi" - "lvus.grpc.CollectionName\032\037.milvus.grpc.C" - "ollectionRowCount\"\000\022J\n\017ShowCollections\022\024" - ".milvus.grpc.Command\032\037.milvus.grpc.Colle" - "ctionNameList\"\000\022P\n\022ShowCollectionInfo\022\033." - "milvus.grpc.CollectionName\032\033.milvus.grpc" - ".CollectionInfo\"\000\022D\n\016DropCollection\022\033.mi" + "tag_array\030\002 \003(\t\022\020\n\010id_array\030\003 \003(\003\022\014\n\004top" + "k\030\004 \001(\003\022/\n\014extra_params\030\005 \003(\0132\031.milvus.g" + "rpc.KeyValuePair\"g\n\017TopKQueryResult\022#\n\006s" + "tatus\030\001 \001(\0132\023.milvus.grpc.Status\022\017\n\007row_" + "num\030\002 \001(\003\022\013\n\003ids\030\003 \003(\003\022\021\n\tdistances\030\004 \003(" + "\002\"H\n\013StringReply\022#\n\006status\030\001 \001(\0132\023.milvu" + "s.grpc.Status\022\024\n\014string_reply\030\002 \001(\t\"D\n\tB" + "oolReply\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.S" + "tatus\022\022\n\nbool_reply\030\002 \001(\010\"W\n\022CollectionR" + "owCount\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.St" + "atus\022\034\n\024collection_row_count\030\002 \001(\003\"\026\n\007Co" + "mmand\022\013\n\003cmd\030\001 \001(\t\"\217\001\n\nIndexParam\022#\n\006sta" + "tus\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017collec" + "tion_name\030\002 \001(\t\022\022\n\nindex_type\030\003 \001(\005\022/\n\014e" + "xtra_params\030\004 \003(\0132\031.milvus.grpc.KeyValue" + "Pair\"+\n\nFlushParam\022\035\n\025collection_name_ar" + "ray\030\001 \003(\t\"<\n\017DeleteByIDParam\022\027\n\017collecti" + "on_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"H\n\016Colle" + "ctionInfo\022#\n\006status\030\001 \001(\0132\023.milvus.grpc." + "Status\022\021\n\tjson_info\030\002 \001(\t\"<\n\017VectorsIden" + "tity\022\027\n\017collection_name\030\001 \001(\t\022\020\n\010id_arra" + "y\030\002 \003(\003\"`\n\013VectorsData\022#\n\006status\030\001 \001(\0132\023" + ".milvus.grpc.Status\022,\n\014vectors_data\030\002 \003(" + "\0132\026.milvus.grpc.RowRecord\"B\n\021GetVectorID" + "sParam\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segme" + "nt_name\030\002 \001(\t\"%\n\020VectorFieldParam\022\021\n\tdim" + "ension\030\001 \001(\003\"w\n\tFieldType\022*\n\tdata_type\030\001" + " \001(\0162\025.milvus.grpc.DataTypeH\000\0225\n\014vector_" + "param\030\002 \001(\0132\035.milvus.grpc.VectorFieldPar" + "amH\000B\007\n\005value\"}\n\nFieldParam\022\n\n\002id\030\001 \001(\004\022" + "\014\n\004name\030\002 \001(\t\022$\n\004type\030\003 \001(\0132\026.milvus.grp" + "c.FieldType\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair\"9\n\020VectorFieldValue" + "\022%\n\005value\030\001 \003(\0132\026.milvus.grpc.RowRecord\"" + "\327\001\n\nFieldValue\022\025\n\013int32_value\030\001 \001(\005H\000\022\025\n" + "\013int64_value\030\002 \001(\003H\000\022\025\n\013float_value\030\003 \001(" + "\002H\000\022\026\n\014double_value\030\004 \001(\001H\000\022\026\n\014string_va" + "lue\030\005 \001(\tH\000\022\024\n\nbool_value\030\006 \001(\010H\000\0225\n\014vec" + "tor_value\030\007 \001(\0132\035.milvus.grpc.VectorFiel" + "dValueH\000B\007\n\005value\"\207\001\n\007Mapping\022#\n\006status\030" + "\001 \001(\0132\023.milvus.grpc.Status\022\025\n\rcollection" + "_id\030\002 \001(\004\022\027\n\017collection_name\030\003 \001(\t\022\'\n\006fi" + "elds\030\004 \003(\0132\027.milvus.grpc.FieldParam\"^\n\013M" + "appingList\022#\n\006status\030\001 \001(\0132\023.milvus.grpc" + ".Status\022*\n\014mapping_list\030\002 \003(\0132\024.milvus.g" + "rpc.Mapping\"\202\001\n\tTermQuery\022\022\n\nfield_name\030" + "\001 \001(\t\022\016\n\006values\030\002 \001(\014\022\021\n\tvalue_num\030\003 \001(\003" + "\022\r\n\005boost\030\004 \001(\002\022/\n\014extra_params\030\005 \003(\0132\031." + "milvus.grpc.KeyValuePair\"N\n\013CompareExpr\022" + ".\n\010operator\030\001 \001(\0162\034.milvus.grpc.CompareO" + "perator\022\017\n\007operand\030\002 \001(\t\"\213\001\n\nRangeQuery\022" + "\022\n\nfield_name\030\001 \001(\t\022)\n\007operand\030\002 \003(\0132\030.m" + "ilvus.grpc.CompareExpr\022\r\n\005boost\030\003 \001(\002\022/\n" + "\014extra_params\030\004 \003(\0132\031.milvus.grpc.KeyVal" + "uePair\"\236\001\n\013VectorQuery\022\022\n\nfield_name\030\001 \001" + "(\t\022\023\n\013query_boost\030\002 \001(\002\022\'\n\007records\030\003 \003(\013" + "2\026.milvus.grpc.RowRecord\022\014\n\004topk\030\004 \001(\003\022/" + "\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.KeyVa" + "luePair\"c\n\014BooleanQuery\022!\n\005occur\030\001 \001(\0162\022" + ".milvus.grpc.Occur\0220\n\rgeneral_query\030\002 \003(" + "\0132\031.milvus.grpc.GeneralQuery\"\333\001\n\014General" + "Query\0222\n\rboolean_query\030\001 \001(\0132\031.milvus.gr" + "pc.BooleanQueryH\000\022,\n\nterm_query\030\002 \001(\0132\026." + "milvus.grpc.TermQueryH\000\022.\n\013range_query\030\003" + " \001(\0132\027.milvus.grpc.RangeQueryH\000\0220\n\014vecto" + "r_query\030\004 \001(\0132\030.milvus.grpc.VectorQueryH" + "\000B\007\n\005query\"\247\001\n\014HSearchParam\022\027\n\017collectio" + "n_name\030\001 \001(\t\022\033\n\023partition_tag_array\030\002 \003(" + "\t\0220\n\rgeneral_query\030\003 \001(\0132\031.milvus.grpc.G" + "eneralQuery\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair\"c\n\026HSearchInSegment" + "sParam\022\030\n\020segment_id_array\030\001 \003(\t\022/\n\014sear" + "ch_param\030\002 \001(\0132\031.milvus.grpc.HSearchPara" + "m\"\033\n\nAttrRecord\022\r\n\005value\030\001 \003(\t\"\255\001\n\007HEnti" + "ty\022#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022" + "\021\n\tentity_id\030\002 \001(\003\022\023\n\013field_names\030\003 \003(\t\022" + "\024\n\014attr_records\030\004 \001(\014\022\017\n\007row_num\030\005 \001(\003\022." + "\n\rresult_values\030\006 \003(\0132\027.milvus.grpc.Fiel" + "dValue\"\215\001\n\014HQueryResult\022#\n\006status\030\001 \001(\0132" + "\023.milvus.grpc.Status\022&\n\010entities\030\002 \003(\0132\024" + ".milvus.grpc.HEntity\022\017\n\007row_num\030\003 \001(\003\022\r\n" + "\005score\030\004 \003(\002\022\020\n\010distance\030\005 \003(\002\"\260\001\n\014HInse" + "rtParam\022\027\n\017collection_name\030\001 \001(\t\022\025\n\rpart" + "ition_tag\030\002 \001(\t\022&\n\010entities\030\003 \001(\0132\024.milv" + "us.grpc.HEntity\022\027\n\017entity_id_array\030\004 \003(\003" + "\022/\n\014extra_params\030\005 \003(\0132\031.milvus.grpc.Key" + "ValuePair\"6\n\017HEntityIdentity\022\027\n\017collecti" + "on_name\030\001 \001(\t\022\n\n\002id\030\002 \001(\003\"J\n\nHEntityIDs\022" + "#\n\006status\030\001 \001(\0132\023.milvus.grpc.Status\022\027\n\017" + "entity_id_array\030\002 \003(\003\"C\n\022HGetEntityIDsPa" + "ram\022\027\n\017collection_name\030\001 \001(\t\022\024\n\014segment_" + "name\030\002 \001(\t\"=\n\020HDeleteByIDParam\022\027\n\017collec" + "tion_name\030\001 \001(\t\022\020\n\010id_array\030\002 \003(\003\"\220\001\n\013HI" + "ndexParam\022#\n\006status\030\001 \001(\0132\023.milvus.grpc." + "Status\022\027\n\017collection_name\030\002 \001(\t\022\022\n\nindex" + "_type\030\003 \001(\005\022/\n\014extra_params\030\004 \003(\0132\031.milv" + "us.grpc.KeyValuePair*\206\001\n\010DataType\022\010\n\004NUL" + "L\020\000\022\010\n\004INT8\020\001\022\t\n\005INT16\020\002\022\t\n\005INT32\020\003\022\t\n\005I" + "NT64\020\004\022\n\n\006STRING\020\024\022\010\n\004BOOL\020\036\022\t\n\005FLOAT\020(\022" + "\n\n\006DOUBLE\020)\022\n\n\006VECTOR\020d\022\014\n\007UNKNOWN\020\217N*C\n" + "\017CompareOperator\022\006\n\002LT\020\000\022\007\n\003LTE\020\001\022\006\n\002EQ\020" + "\002\022\006\n\002GT\020\003\022\007\n\003GTE\020\004\022\006\n\002NE\020\005*8\n\005Occur\022\013\n\007I" + "NVALID\020\000\022\010\n\004MUST\020\001\022\n\n\006SHOULD\020\002\022\014\n\010MUST_N" + "OT\020\0032\324\026\n\rMilvusService\022H\n\020CreateCollecti" + "on\022\035.milvus.grpc.CollectionSchema\032\023.milv" + "us.grpc.Status\"\000\022F\n\rHasCollection\022\033.milv" + "us.grpc.CollectionName\032\026.milvus.grpc.Boo" + "lReply\"\000\022R\n\022DescribeCollection\022\033.milvus." + "grpc.CollectionName\032\035.milvus.grpc.Collec" + "tionSchema\"\000\022Q\n\017CountCollection\022\033.milvus" + ".grpc.CollectionName\032\037.milvus.grpc.Colle" + "ctionRowCount\"\000\022J\n\017ShowCollections\022\024.mil" + "vus.grpc.Command\032\037.milvus.grpc.Collectio" + "nNameList\"\000\022P\n\022ShowCollectionInfo\022\033.milv" + "us.grpc.CollectionName\032\033.milvus.grpc.Col" + "lectionInfo\"\000\022D\n\016DropCollection\022\033.milvus" + ".grpc.CollectionName\032\023.milvus.grpc.Statu" + "s\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.IndexPa" + "ram\032\023.milvus.grpc.Status\"\000\022G\n\rDescribeIn" + "dex\022\033.milvus.grpc.CollectionName\032\027.milvu" + "s.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.milvu" + "s.grpc.CollectionName\032\023.milvus.grpc.Stat" + "us\"\000\022E\n\017CreatePartition\022\033.milvus.grpc.Pa" + "rtitionParam\032\023.milvus.grpc.Status\"\000\022E\n\014H" + "asPartition\022\033.milvus.grpc.PartitionParam" + "\032\026.milvus.grpc.BoolReply\"\000\022K\n\016ShowPartit" + "ions\022\033.milvus.grpc.CollectionName\032\032.milv" + "us.grpc.PartitionList\"\000\022C\n\rDropPartition" + "\022\033.milvus.grpc.PartitionParam\032\023.milvus.g" + "rpc.Status\"\000\022<\n\006Insert\022\030.milvus.grpc.Ins" + "ertParam\032\026.milvus.grpc.VectorIds\"\000\022J\n\016Ge" + "tVectorsByID\022\034.milvus.grpc.VectorsIdenti" + "ty\032\030.milvus.grpc.VectorsData\"\000\022H\n\014GetVec" + "torIDs\022\036.milvus.grpc.GetVectorIDsParam\032\026" + ".milvus.grpc.VectorIds\"\000\022B\n\006Search\022\030.mil" + "vus.grpc.SearchParam\032\034.milvus.grpc.TopKQ" + "ueryResult\"\000\022J\n\nSearchByID\022\034.milvus.grpc" + ".SearchByIDParam\032\034.milvus.grpc.TopKQuery" + "Result\"\000\022P\n\rSearchInFiles\022\037.milvus.grpc." + "SearchInFilesParam\032\034.milvus.grpc.TopKQue" + "ryResult\"\000\0227\n\003Cmd\022\024.milvus.grpc.Command\032" + "\030.milvus.grpc.StringReply\"\000\022A\n\nDeleteByI" + "D\022\034.milvus.grpc.DeleteByIDParam\032\023.milvus" + ".grpc.Status\"\000\022G\n\021PreloadCollection\022\033.mi" "lvus.grpc.CollectionName\032\023.milvus.grpc.S" - "tatus\"\000\022=\n\013CreateIndex\022\027.milvus.grpc.Ind" - "exParam\032\023.milvus.grpc.Status\"\000\022G\n\rDescri" - "beIndex\022\033.milvus.grpc.CollectionName\032\027.m" - "ilvus.grpc.IndexParam\"\000\022\?\n\tDropIndex\022\033.m" - "ilvus.grpc.CollectionName\032\023.milvus.grpc." - "Status\"\000\022E\n\017CreatePartition\022\033.milvus.grp" - "c.PartitionParam\032\023.milvus.grpc.Status\"\000\022" - "K\n\016ShowPartitions\022\033.milvus.grpc.Collecti" - "onName\032\032.milvus.grpc.PartitionList\"\000\022C\n\r" - "DropPartition\022\033.milvus.grpc.PartitionPar" - "am\032\023.milvus.grpc.Status\"\000\022<\n\006Insert\022\030.mi" - "lvus.grpc.InsertParam\032\026.milvus.grpc.Vect" - "orIds\"\000\022G\n\rGetVectorByID\022\033.milvus.grpc.V" - "ectorIdentity\032\027.milvus.grpc.VectorData\"\000" - "\022H\n\014GetVectorIDs\022\036.milvus.grpc.GetVector" - "IDsParam\032\026.milvus.grpc.VectorIds\"\000\022B\n\006Se" - "arch\022\030.milvus.grpc.SearchParam\032\034.milvus." - "grpc.TopKQueryResult\"\000\022J\n\nSearchByID\022\034.m" - "ilvus.grpc.SearchByIDParam\032\034.milvus.grpc" - ".TopKQueryResult\"\000\022P\n\rSearchInFiles\022\037.mi" - "lvus.grpc.SearchInFilesParam\032\034.milvus.gr" - "pc.TopKQueryResult\"\000\0227\n\003Cmd\022\024.milvus.grp" - "c.Command\032\030.milvus.grpc.StringReply\"\000\022A\n" - "\nDeleteByID\022\034.milvus.grpc.DeleteByIDPara" - "m\032\023.milvus.grpc.Status\"\000\022G\n\021PreloadColle" - "ction\022\033.milvus.grpc.CollectionName\032\023.mil" - "vus.grpc.Status\"\000\0227\n\005Flush\022\027.milvus.grpc" - ".FlushParam\032\023.milvus.grpc.Status\"\000\022=\n\007Co" - "mpact\022\033.milvus.grpc.CollectionName\032\023.mil" - "vus.grpc.Status\"\000\022E\n\026CreateHybridCollect" - "ion\022\024.milvus.grpc.Mapping\032\023.milvus.grpc." - "Status\"\000\022L\n\023HasHybridCollection\022\033.milvus" - ".grpc.CollectionName\032\026.milvus.grpc.BoolR" - "eply\"\000\022J\n\024DropHybridCollection\022\033.milvus." - "grpc.CollectionName\032\023.milvus.grpc.Status" - "\"\000\022O\n\030DescribeHybridCollection\022\033.milvus." - "grpc.CollectionName\032\024.milvus.grpc.Mappin" - "g\"\000\022W\n\025CountHybridCollection\022\033.milvus.gr" - "pc.CollectionName\032\037.milvus.grpc.Collecti" - "onRowCount\"\000\022I\n\025ShowHybridCollections\022\024." - "milvus.grpc.Command\032\030.milvus.grpc.Mappin" - "gList\"\000\022V\n\030ShowHybridCollectionInfo\022\033.mi" - "lvus.grpc.CollectionName\032\033.milvus.grpc.C" - "ollectionInfo\"\000\022M\n\027PreloadHybridCollecti" - "on\022\033.milvus.grpc.CollectionName\032\023.milvus" - ".grpc.Status\"\000\022D\n\014InsertEntity\022\031.milvus." - "grpc.HInsertParam\032\027.milvus.grpc.HEntityI" - "Ds\"\000\022I\n\014HybridSearch\022\031.milvus.grpc.HSear" - "chParam\032\034.milvus.grpc.TopKQueryResult\"\000\022" - "]\n\026HybridSearchInSegments\022#.milvus.grpc." - "HSearchInSegmentsParam\032\034.milvus.grpc.Top" - "KQueryResult\"\000\022E\n\rGetEntityByID\022\034.milvus" - ".grpc.HEntityIdentity\032\024.milvus.grpc.HEnt" - "ity\"\000\022J\n\014GetEntityIDs\022\037.milvus.grpc.HGet" - "EntityIDsParam\032\027.milvus.grpc.HEntityIDs\"" - "\000\022J\n\022DeleteEntitiesByID\022\035.milvus.grpc.HD" - "eleteByIDParam\032\023.milvus.grpc.Status\"\000b\006p" - "roto3" + "tatus\"\000\0227\n\005Flush\022\027.milvus.grpc.FlushPara" + "m\032\023.milvus.grpc.Status\"\000\022=\n\007Compact\022\033.mi" + "lvus.grpc.CollectionName\032\023.milvus.grpc.S" + "tatus\"\000\022E\n\026CreateHybridCollection\022\024.milv" + "us.grpc.Mapping\032\023.milvus.grpc.Status\"\000\022L" + "\n\023HasHybridCollection\022\033.milvus.grpc.Coll" + "ectionName\032\026.milvus.grpc.BoolReply\"\000\022J\n\024" + "DropHybridCollection\022\033.milvus.grpc.Colle" + "ctionName\032\023.milvus.grpc.Status\"\000\022O\n\030Desc" + "ribeHybridCollection\022\033.milvus.grpc.Colle" + "ctionName\032\024.milvus.grpc.Mapping\"\000\022W\n\025Cou" + "ntHybridCollection\022\033.milvus.grpc.Collect" + "ionName\032\037.milvus.grpc.CollectionRowCount" + "\"\000\022I\n\025ShowHybridCollections\022\024.milvus.grp" + "c.Command\032\030.milvus.grpc.MappingList\"\000\022V\n" + "\030ShowHybridCollectionInfo\022\033.milvus.grpc." + "CollectionName\032\033.milvus.grpc.CollectionI" + "nfo\"\000\022M\n\027PreloadHybridCollection\022\033.milvu" + "s.grpc.CollectionName\032\023.milvus.grpc.Stat" + "us\"\000\022D\n\014InsertEntity\022\031.milvus.grpc.HInse" + "rtParam\032\027.milvus.grpc.HEntityIDs\"\000\022I\n\014Hy" + "bridSearch\022\031.milvus.grpc.HSearchParam\032\034." + "milvus.grpc.TopKQueryResult\"\000\022]\n\026HybridS" + "earchInSegments\022#.milvus.grpc.HSearchInS" + "egmentsParam\032\034.milvus.grpc.TopKQueryResu" + "lt\"\000\022E\n\rGetEntityByID\022\034.milvus.grpc.HEnt" + "ityIdentity\032\024.milvus.grpc.HEntity\"\000\022J\n\014G" + "etEntityIDs\022\037.milvus.grpc.HGetEntityIDsP" + "aram\032\027.milvus.grpc.HEntityIDs\"\000\022J\n\022Delet" + "eEntitiesByID\022\035.milvus.grpc.HDeleteByIDP" + "aram\032\023.milvus.grpc.Status\"\000b\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[1] = { &::descriptor_table_status_2eproto, }; -static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[49] = { +static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[47] = { &scc_info_AttrRecord_milvus_2eproto.base, &scc_info_BoolReply_milvus_2eproto.base, &scc_info_BooleanQuery_milvus_2eproto.base, @@ -1757,30 +1690,28 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil &scc_info_MappingList_milvus_2eproto.base, &scc_info_PartitionList_milvus_2eproto.base, &scc_info_PartitionParam_milvus_2eproto.base, - &scc_info_PartitionStat_milvus_2eproto.base, &scc_info_RangeQuery_milvus_2eproto.base, &scc_info_RowRecord_milvus_2eproto.base, &scc_info_SearchByIDParam_milvus_2eproto.base, &scc_info_SearchInFilesParam_milvus_2eproto.base, &scc_info_SearchParam_milvus_2eproto.base, - &scc_info_SegmentStat_milvus_2eproto.base, &scc_info_StringReply_milvus_2eproto.base, &scc_info_TermQuery_milvus_2eproto.base, &scc_info_TopKQueryResult_milvus_2eproto.base, - &scc_info_VectorData_milvus_2eproto.base, &scc_info_VectorFieldParam_milvus_2eproto.base, &scc_info_VectorFieldValue_milvus_2eproto.base, - &scc_info_VectorIdentity_milvus_2eproto.base, &scc_info_VectorIds_milvus_2eproto.base, &scc_info_VectorQuery_milvus_2eproto.base, + &scc_info_VectorsData_milvus_2eproto.base, + &scc_info_VectorsIdentity_milvus_2eproto.base, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once; static bool descriptor_table_milvus_2eproto_initialized = false; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = { - &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8405, - &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 49, 1, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 8235, + &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 47, 1, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, - file_level_metadata_milvus_2eproto, 50, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, + file_level_metadata_milvus_2eproto, 48, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, }; // Force running AddDescriptors() at dynamic initialization time. @@ -5965,24 +5896,21 @@ SearchByIDParam::SearchByIDParam(const SearchByIDParam& from) : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr), partition_tag_array_(from.partition_tag_array_), + id_array_(from.id_array_), extra_params_(from.extra_params_) { _internal_metadata_.MergeFrom(from._internal_metadata_); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.collection_name().empty()) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - ::memcpy(&id_, &from.id_, - static_cast(reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = from.topk_; // @@protoc_insertion_point(copy_constructor:milvus.grpc.SearchByIDParam) } void SearchByIDParam::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SearchByIDParam_milvus_2eproto.base); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&id_, 0, static_cast( - reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = PROTOBUF_LONGLONG(0); } SearchByIDParam::~SearchByIDParam() { @@ -6010,11 +5938,10 @@ void SearchByIDParam::Clear() { (void) cached_has_bits; partition_tag_array_.Clear(); + id_array_.Clear(); extra_params_.Clear(); collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&id_, 0, static_cast( - reinterpret_cast(&topk_) - - reinterpret_cast(&id_)) + sizeof(topk_)); + topk_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } @@ -6045,10 +5972,13 @@ const char* SearchByIDParam::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPAC } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } else goto handle_unusual; continue; - // int64 id = 3; + // repeated int64 id_array = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_id_array(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) { + add_id_array(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; @@ -6132,13 +6062,16 @@ bool SearchByIDParam::MergePartialFromCodedStream( break; } - // int64 id = 3; + // repeated int64 id_array = 3; case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &id_))); + input, this->mutable_id_array()))); + } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + 1, 26u, input, this->mutable_id_array()))); } else { goto handle_unusual; } @@ -6216,9 +6149,15 @@ void SearchByIDParam::SerializeWithCachedSizes( 2, this->partition_tag_array(i), output); } - // int64 id = 3; - if (this->id() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(3, this->id(), output); + // repeated int64 id_array = 3; + if (this->id_array_size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(3, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_id_array_cached_byte_size_.load( + std::memory_order_relaxed)); + } + for (int i = 0, n = this->id_array_size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( + this->id_array(i), output); } // int64 topk = 4; @@ -6269,9 +6208,17 @@ void SearchByIDParam::SerializeWithCachedSizes( WriteStringToArray(2, this->partition_tag_array(i), target); } - // int64 id = 3; - if (this->id() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->id(), target); + // repeated int64 id_array = 3; + if (this->id_array_size() > 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( + 3, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( + _id_array_cached_byte_size_.load(std::memory_order_relaxed), + target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + WriteInt64NoTagToArray(this->id_array_, target); } // int64 topk = 4; @@ -6316,6 +6263,21 @@ size_t SearchByIDParam::ByteSizeLong() const { this->partition_tag_array(i)); } + // repeated int64 id_array = 3; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + Int64Size(this->id_array_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _id_array_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // repeated .milvus.grpc.KeyValuePair extra_params = 5; { unsigned int count = static_cast(this->extra_params_size()); @@ -6334,13 +6296,6 @@ size_t SearchByIDParam::ByteSizeLong() const { this->collection_name()); } - // int64 id = 3; - if (this->id() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->id()); - } - // int64 topk = 4; if (this->topk() != 0) { total_size += 1 + @@ -6376,14 +6331,12 @@ void SearchByIDParam::MergeFrom(const SearchByIDParam& from) { (void) cached_has_bits; partition_tag_array_.MergeFrom(from.partition_tag_array_); + id_array_.MergeFrom(from.id_array_); extra_params_.MergeFrom(from.extra_params_); if (from.collection_name().size() > 0) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - if (from.id() != 0) { - set_id(from.id()); - } if (from.topk() != 0) { set_topk(from.topk()); } @@ -6411,10 +6364,10 @@ void SearchByIDParam::InternalSwap(SearchByIDParam* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); partition_tag_array_.InternalSwap(CastToBase(&other->partition_tag_array_)); + id_array_.InternalSwap(&other->id_array_); CastToBase(&extra_params_)->InternalSwap(CastToBase(&other->extra_params_)); collection_name_.Swap(&other->collection_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(id_, other->id_); swap(topk_, other->topk_); } @@ -9151,797 +9104,6 @@ void DeleteByIDParam::InternalSwap(DeleteByIDParam* other) { } -// =================================================================== - -void SegmentStat::InitAsDefaultInstance() { -} -class SegmentStat::_Internal { - public: -}; - -SegmentStat::SegmentStat() - : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { - SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.SegmentStat) -} -SegmentStat::SegmentStat(const SegmentStat& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - segment_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.segment_name().empty()) { - segment_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.segment_name_); - } - index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.index_name().empty()) { - index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_); - } - ::memcpy(&row_count_, &from.row_count_, - static_cast(reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); - // @@protoc_insertion_point(copy_constructor:milvus.grpc.SegmentStat) -} - -void SegmentStat::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SegmentStat_milvus_2eproto.base); - segment_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&row_count_, 0, static_cast( - reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); -} - -SegmentStat::~SegmentStat() { - // @@protoc_insertion_point(destructor:milvus.grpc.SegmentStat) - SharedDtor(); -} - -void SegmentStat::SharedDtor() { - segment_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void SegmentStat::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const SegmentStat& SegmentStat::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_SegmentStat_milvus_2eproto.base); - return *internal_default_instance(); -} - - -void SegmentStat::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - segment_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - ::memset(&row_count_, 0, static_cast( - reinterpret_cast(&data_size_) - - reinterpret_cast(&row_count_)) + sizeof(data_size_)); - _internal_metadata_.Clear(); -} - -#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* SegmentStat::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - CHK_(ptr); - switch (tag >> 3) { - // string segment_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_segment_name(), ptr, ctx, "milvus.grpc.SegmentStat.segment_name"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 row_count = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // string index_name = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_index_name(), ptr, ctx, "milvus.grpc.SegmentStat.index_name"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 data_size = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { - data_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - default: { - handle_unusual: - if ((tag & 7) == 4 || tag == 0) { - ctx->SetLastTag(tag); - goto success; - } - ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); - CHK_(ptr != nullptr); - continue; - } - } // switch - } // while -success: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} -#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool SegmentStat::MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.SegmentStat) - for (;;) { - ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string segment_name = 1; - case 1: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_segment_name())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.SegmentStat.segment_name")); - } else { - goto handle_unusual; - } - break; - } - - // int64 row_count = 2; - case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // string index_name = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_index_name())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.SegmentStat.index_name")); - } else { - goto handle_unusual; - } - break; - } - - // int64 data_size = 4; - case 4: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &data_size_))); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:milvus.grpc.SegmentStat) - return true; -failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.SegmentStat) - return false; -#undef DO_ -} -#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - -void SegmentStat::SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.segment_name"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->segment_name(), output); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->row_count(), output); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.index_name"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->index_name(), output); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(4, this->data_size(), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:milvus.grpc.SegmentStat) -} - -::PROTOBUF_NAMESPACE_ID::uint8* SegmentStat::InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->segment_name().data(), static_cast(this->segment_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.segment_name"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 1, this->segment_name(), target); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->row_count(), target); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->index_name().data(), static_cast(this->index_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.SegmentStat.index_name"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 3, this->index_name(), target); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(4, this->data_size(), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.SegmentStat) - return target; -} - -size_t SegmentStat::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.SegmentStat) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // string segment_name = 1; - if (this->segment_name().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->segment_name()); - } - - // string index_name = 3; - if (this->index_name().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->index_name()); - } - - // int64 row_count = 2; - if (this->row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->row_count()); - } - - // int64 data_size = 4; - if (this->data_size() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->data_size()); - } - - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void SegmentStat::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.SegmentStat) - GOOGLE_DCHECK_NE(&from, this); - const SegmentStat* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( - &from); - if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.SegmentStat) - ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.SegmentStat) - MergeFrom(*source); - } -} - -void SegmentStat::MergeFrom(const SegmentStat& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.SegmentStat) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.segment_name().size() > 0) { - - segment_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.segment_name_); - } - if (from.index_name().size() > 0) { - - index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_); - } - if (from.row_count() != 0) { - set_row_count(from.row_count()); - } - if (from.data_size() != 0) { - set_data_size(from.data_size()); - } -} - -void SegmentStat::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.SegmentStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void SegmentStat::CopyFrom(const SegmentStat& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.SegmentStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool SegmentStat::IsInitialized() const { - return true; -} - -void SegmentStat::InternalSwap(SegmentStat* other) { - using std::swap; - _internal_metadata_.Swap(&other->_internal_metadata_); - segment_name_.Swap(&other->segment_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - index_name_.Swap(&other->index_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - swap(row_count_, other->row_count_); - swap(data_size_, other->data_size_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata SegmentStat::GetMetadata() const { - return GetMetadataStatic(); -} - - -// =================================================================== - -void PartitionStat::InitAsDefaultInstance() { -} -class PartitionStat::_Internal { - public: -}; - -PartitionStat::PartitionStat() - : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { - SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.PartitionStat) -} -PartitionStat::PartitionStat(const PartitionStat& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr), - segments_stat_(from.segments_stat_) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from.tag().empty()) { - tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.tag_); - } - total_row_count_ = from.total_row_count_; - // @@protoc_insertion_point(copy_constructor:milvus.grpc.PartitionStat) -} - -void PartitionStat::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PartitionStat_milvus_2eproto.base); - tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - total_row_count_ = PROTOBUF_LONGLONG(0); -} - -PartitionStat::~PartitionStat() { - // @@protoc_insertion_point(destructor:milvus.grpc.PartitionStat) - SharedDtor(); -} - -void PartitionStat::SharedDtor() { - tag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void PartitionStat::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -const PartitionStat& PartitionStat::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PartitionStat_milvus_2eproto.base); - return *internal_default_instance(); -} - - -void PartitionStat::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - segments_stat_.Clear(); - tag_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - total_row_count_ = PROTOBUF_LONGLONG(0); - _internal_metadata_.Clear(); -} - -#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* PartitionStat::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - CHK_(ptr); - switch (tag >> 3) { - // string tag = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_tag(), ptr, ctx, "milvus.grpc.PartitionStat.tag"); - CHK_(ptr); - } else goto handle_unusual; - continue; - // int64 total_row_count = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - total_row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_segments_stat(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); - } else goto handle_unusual; - continue; - default: { - handle_unusual: - if ((tag & 7) == 4 || tag == 0) { - ctx->SetLastTag(tag); - goto success; - } - ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx); - CHK_(ptr != nullptr); - continue; - } - } // switch - } // while -success: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} -#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool PartitionStat::MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.PartitionStat) - for (;;) { - ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // string tag = 1; - case 1: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( - input, this->mutable_tag())); - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.PartitionStat.tag")); - } else { - goto handle_unusual; - } - break; - } - - // int64 total_row_count = 2; - case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &total_row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_segments_stat())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:milvus.grpc.PartitionStat) - return true; -failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.PartitionStat) - return false; -#undef DO_ -} -#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - -void PartitionStat::SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string tag = 1; - if (this->tag().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.PartitionStat.tag"); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->tag(), output); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->total_row_count(), output); - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->segments_stat_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, - this->segments_stat(static_cast(i)), - output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:milvus.grpc.PartitionStat) -} - -::PROTOBUF_NAMESPACE_ID::uint8* PartitionStat::InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string tag = 1; - if (this->tag().size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->tag().data(), static_cast(this->tag().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.PartitionStat.tag"); - target = - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( - 1, this->tag(), target); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->total_row_count(), target); - } - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->segments_stat_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->segments_stat(static_cast(i)), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.PartitionStat) - return target; -} - -size_t PartitionStat::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.PartitionStat) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - { - unsigned int count = static_cast(this->segments_stat_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->segments_stat(static_cast(i))); - } - } - - // string tag = 1; - if (this->tag().size() > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->tag()); - } - - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->total_row_count()); - } - - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void PartitionStat::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.PartitionStat) - GOOGLE_DCHECK_NE(&from, this); - const PartitionStat* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( - &from); - if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.PartitionStat) - ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.PartitionStat) - MergeFrom(*source); - } -} - -void PartitionStat::MergeFrom(const PartitionStat& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.PartitionStat) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - segments_stat_.MergeFrom(from.segments_stat_); - if (from.tag().size() > 0) { - - tag_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.tag_); - } - if (from.total_row_count() != 0) { - set_total_row_count(from.total_row_count()); - } -} - -void PartitionStat::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.PartitionStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void PartitionStat::CopyFrom(const PartitionStat& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.PartitionStat) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool PartitionStat::IsInitialized() const { - return true; -} - -void PartitionStat::InternalSwap(PartitionStat* other) { - using std::swap; - _internal_metadata_.Swap(&other->_internal_metadata_); - CastToBase(&segments_stat_)->InternalSwap(CastToBase(&other->segments_stat_)); - tag_.Swap(&other->tag_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - GetArenaNoVirtual()); - swap(total_row_count_, other->total_row_count_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata PartitionStat::GetMetadata() const { - return GetMetadataStatic(); -} - - // =================================================================== void CollectionInfo::InitAsDefaultInstance() { @@ -9970,23 +9132,24 @@ CollectionInfo::CollectionInfo() } CollectionInfo::CollectionInfo(const CollectionInfo& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr), - partitions_stat_(from.partitions_stat_) { + _internal_metadata_(nullptr) { _internal_metadata_.MergeFrom(from._internal_metadata_); + json_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from.json_info().empty()) { + json_info_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.json_info_); + } if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - total_row_count_ = from.total_row_count_; // @@protoc_insertion_point(copy_constructor:milvus.grpc.CollectionInfo) } void CollectionInfo::SharedCtor() { ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CollectionInfo_milvus_2eproto.base); - ::memset(&status_, 0, static_cast( - reinterpret_cast(&total_row_count_) - - reinterpret_cast(&status_)) + sizeof(total_row_count_)); + json_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + status_ = nullptr; } CollectionInfo::~CollectionInfo() { @@ -9995,6 +9158,7 @@ CollectionInfo::~CollectionInfo() { } void CollectionInfo::SharedDtor() { + json_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete status_; } @@ -10013,12 +9177,11 @@ void CollectionInfo::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - partitions_stat_.Clear(); + json_info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - total_row_count_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } @@ -10037,25 +9200,13 @@ const char* CollectionInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE CHK_(ptr); } else goto handle_unusual; continue; - // int64 total_row_count = 2; + // string json_info = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - total_row_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_json_info(), ptr, ctx, "milvus.grpc.CollectionInfo.json_info"); CHK_(ptr); } else goto handle_unusual; continue; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(add_partitions_stat(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26); - } else goto handle_unusual; - continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -10097,24 +9248,15 @@ bool CollectionInfo::MergePartialFromCodedStream( break; } - // int64 total_row_count = 2; + // string json_info = 2; case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &total_row_count_))); - } else { - goto handle_unusual; - } - break; - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - case 3: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) { - DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, add_partitions_stat())); + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString( + input, this->mutable_json_info())); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, + "milvus.grpc.CollectionInfo.json_info")); } else { goto handle_unusual; } @@ -10154,18 +9296,14 @@ void CollectionInfo::SerializeWithCachedSizes( 1, _Internal::status(this), output); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->total_row_count(), output); - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->partitions_stat_size()); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, - this->partitions_stat(static_cast(i)), - output); + // string json_info = 2; + if (this->json_info().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "milvus.grpc.CollectionInfo.json_info"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( + 2, this->json_info(), output); } if (_internal_metadata_.have_unknown_fields()) { @@ -10188,17 +9326,15 @@ void CollectionInfo::SerializeWithCachedSizes( 1, _Internal::status(this), target); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->total_row_count(), target); - } - - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - for (unsigned int i = 0, - n = static_cast(this->partitions_stat_size()); i < n; i++) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessageToArray( - 3, this->partitions_stat(static_cast(i)), target); + // string json_info = 2; + if (this->json_info().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->json_info().data(), static_cast(this->json_info().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "milvus.grpc.CollectionInfo.json_info"); + target = + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( + 2, this->json_info(), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -10222,15 +9358,11 @@ size_t CollectionInfo::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - { - unsigned int count = static_cast(this->partitions_stat_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - this->partitions_stat(static_cast(i))); - } + // string json_info = 2; + if (this->json_info().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->json_info()); } // .milvus.grpc.Status status = 1; @@ -10240,13 +9372,6 @@ size_t CollectionInfo::ByteSizeLong() const { *status_); } - // int64 total_row_count = 2; - if (this->total_row_count() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->total_row_count()); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; @@ -10274,13 +9399,13 @@ void CollectionInfo::MergeFrom(const CollectionInfo& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - partitions_stat_.MergeFrom(from.partitions_stat_); + if (from.json_info().size() > 0) { + + json_info_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.json_info_); + } if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } - if (from.total_row_count() != 0) { - set_total_row_count(from.total_row_count()); - } } void CollectionInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { @@ -10304,9 +9429,9 @@ bool CollectionInfo::IsInitialized() const { void CollectionInfo::InternalSwap(CollectionInfo* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - CastToBase(&partitions_stat_)->InternalSwap(CastToBase(&other->partitions_stat_)); + json_info_.Swap(&other->json_info_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); swap(status_, other->status_); - swap(total_row_count_, other->total_row_count_); } ::PROTOBUF_NAMESPACE_ID::Metadata CollectionInfo::GetMetadata() const { @@ -10316,66 +9441,65 @@ void CollectionInfo::InternalSwap(CollectionInfo* other) { // =================================================================== -void VectorIdentity::InitAsDefaultInstance() { +void VectorsIdentity::InitAsDefaultInstance() { } -class VectorIdentity::_Internal { +class VectorsIdentity::_Internal { public: }; -VectorIdentity::VectorIdentity() +VectorsIdentity::VectorsIdentity() : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(constructor:milvus.grpc.VectorsIdentity) } -VectorIdentity::VectorIdentity(const VectorIdentity& from) +VectorsIdentity::VectorsIdentity(const VectorsIdentity& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + id_array_(from.id_array_) { _internal_metadata_.MergeFrom(from._internal_metadata_); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.collection_name().empty()) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - id_ = from.id_; - // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorsIdentity) } -void VectorIdentity::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorIdentity_milvus_2eproto.base); +void VectorsIdentity::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorsIdentity_milvus_2eproto.base); collection_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - id_ = PROTOBUF_LONGLONG(0); } -VectorIdentity::~VectorIdentity() { - // @@protoc_insertion_point(destructor:milvus.grpc.VectorIdentity) +VectorsIdentity::~VectorsIdentity() { + // @@protoc_insertion_point(destructor:milvus.grpc.VectorsIdentity) SharedDtor(); } -void VectorIdentity::SharedDtor() { +void VectorsIdentity::SharedDtor() { collection_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void VectorIdentity::SetCachedSize(int size) const { +void VectorsIdentity::SetCachedSize(int size) const { _cached_size_.Set(size); } -const VectorIdentity& VectorIdentity::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorIdentity_milvus_2eproto.base); +const VectorsIdentity& VectorsIdentity::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorsIdentity_milvus_2eproto.base); return *internal_default_instance(); } -void VectorIdentity::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::Clear() { +// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + id_array_.Clear(); collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - id_ = PROTOBUF_LONGLONG(0); _internal_metadata_.Clear(); } #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* VectorIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* VectorsIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; @@ -10385,14 +9509,17 @@ const char* VectorIdentity::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE // string collection_name = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_collection_name(), ptr, ctx, "milvus.grpc.VectorIdentity.collection_name"); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_collection_name(), ptr, ctx, "milvus.grpc.VectorsIdentity.collection_name"); CHK_(ptr); } else goto handle_unusual; continue; - // int64 id = 2; + // repeated int64 id_array = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_id_array(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) { + add_id_array(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; @@ -10416,11 +9543,11 @@ failure: #undef CHK_ } #else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool VectorIdentity::MergePartialFromCodedStream( +bool VectorsIdentity::MergePartialFromCodedStream( ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_start:milvus.grpc.VectorsIdentity) for (;;) { ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; @@ -10434,20 +9561,23 @@ bool VectorIdentity::MergePartialFromCodedStream( DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, - "milvus.grpc.VectorIdentity.collection_name")); + "milvus.grpc.VectorsIdentity.collection_name")); } else { goto handle_unusual; } break; } - // int64 id = 2; + // repeated int64 id_array = 2; case 2: { - if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, &id_))); + input, this->mutable_id_array()))); + } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + 1, 18u, input, this->mutable_id_array()))); } else { goto handle_unusual; } @@ -10466,18 +9596,18 @@ bool VectorIdentity::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_success:milvus.grpc.VectorsIdentity) return true; failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorsIdentity) return false; #undef DO_ } #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -void VectorIdentity::SerializeWithCachedSizes( +void VectorsIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10486,26 +9616,32 @@ void VectorIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.VectorIdentity.collection_name"); + "milvus.grpc.VectorsIdentity.collection_name"); ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased( 1, this->collection_name(), output); } - // int64 id = 2; - if (this->id() != 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->id(), output); + // repeated int64 id_array = 2; + if (this->id_array_size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(2, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_id_array_cached_byte_size_.load( + std::memory_order_relaxed)); + } + for (int i = 0, n = this->id_array_size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( + this->id_array(i), output); } if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorsIdentity) } -::PROTOBUF_NAMESPACE_ID::uint8* VectorIdentity::InternalSerializeWithCachedSizesToArray( +::PROTOBUF_NAMESPACE_ID::uint8* VectorsIdentity::InternalSerializeWithCachedSizesToArray( ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10514,27 +9650,35 @@ void VectorIdentity::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->collection_name().data(), static_cast(this->collection_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "milvus.grpc.VectorIdentity.collection_name"); + "milvus.grpc.VectorsIdentity.collection_name"); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray( 1, this->collection_name(), target); } - // int64 id = 2; - if (this->id() != 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->id(), target); + // repeated int64 id_array = 2; + if (this->id_array_size() > 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( + 2, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( + _id_array_cached_byte_size_.load(std::memory_order_relaxed), + target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + WriteInt64NoTagToArray(this->id_array_, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorsIdentity) return target; } -size_t VectorIdentity::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorIdentity) +size_t VectorsIdentity::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorsIdentity) size_t total_size = 0; if (_internal_metadata_.have_unknown_fields()) { @@ -10546,6 +9690,21 @@ size_t VectorIdentity::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated int64 id_array = 2; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + Int64Size(this->id_array_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _id_array_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // string collection_name = 1; if (this->collection_name().size() > 0) { total_size += 1 + @@ -10553,175 +9712,149 @@ size_t VectorIdentity::ByteSizeLong() const { this->collection_name()); } - // int64 id = 2; - if (this->id() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( - this->id()); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; } -void VectorIdentity::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorsIdentity) GOOGLE_DCHECK_NE(&from, this); - const VectorIdentity* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const VectorsIdentity* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorsIdentity) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorsIdentity) MergeFrom(*source); } } -void VectorIdentity::MergeFrom(const VectorIdentity& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::MergeFrom(const VectorsIdentity& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorsIdentity) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + id_array_.MergeFrom(from.id_array_); if (from.collection_name().size() > 0) { collection_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.collection_name_); } - if (from.id() != 0) { - set_id(from.id()); - } } -void VectorIdentity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorsIdentity) if (&from == this) return; Clear(); MergeFrom(from); } -void VectorIdentity::CopyFrom(const VectorIdentity& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorIdentity) +void VectorsIdentity::CopyFrom(const VectorsIdentity& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorsIdentity) if (&from == this) return; Clear(); MergeFrom(from); } -bool VectorIdentity::IsInitialized() const { +bool VectorsIdentity::IsInitialized() const { return true; } -void VectorIdentity::InternalSwap(VectorIdentity* other) { +void VectorsIdentity::InternalSwap(VectorsIdentity* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + id_array_.InternalSwap(&other->id_array_); collection_name_.Swap(&other->collection_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); - swap(id_, other->id_); } -::PROTOBUF_NAMESPACE_ID::Metadata VectorIdentity::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata VectorsIdentity::GetMetadata() const { return GetMetadataStatic(); } // =================================================================== -void VectorData::InitAsDefaultInstance() { - ::milvus::grpc::_VectorData_default_instance_._instance.get_mutable()->status_ = const_cast< ::milvus::grpc::Status*>( +void VectorsData::InitAsDefaultInstance() { + ::milvus::grpc::_VectorsData_default_instance_._instance.get_mutable()->status_ = const_cast< ::milvus::grpc::Status*>( ::milvus::grpc::Status::internal_default_instance()); - ::milvus::grpc::_VectorData_default_instance_._instance.get_mutable()->vector_data_ = const_cast< ::milvus::grpc::RowRecord*>( - ::milvus::grpc::RowRecord::internal_default_instance()); } -class VectorData::_Internal { +class VectorsData::_Internal { public: - static const ::milvus::grpc::Status& status(const VectorData* msg); - static const ::milvus::grpc::RowRecord& vector_data(const VectorData* msg); + static const ::milvus::grpc::Status& status(const VectorsData* msg); }; const ::milvus::grpc::Status& -VectorData::_Internal::status(const VectorData* msg) { +VectorsData::_Internal::status(const VectorsData* msg) { return *msg->status_; } -const ::milvus::grpc::RowRecord& -VectorData::_Internal::vector_data(const VectorData* msg) { - return *msg->vector_data_; -} -void VectorData::clear_status() { +void VectorsData::clear_status() { if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; } -VectorData::VectorData() +VectorsData::VectorsData() : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) { SharedCtor(); - // @@protoc_insertion_point(constructor:milvus.grpc.VectorData) + // @@protoc_insertion_point(constructor:milvus.grpc.VectorsData) } -VectorData::VectorData(const VectorData& from) +VectorsData::VectorsData(const VectorsData& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + vectors_data_(from.vectors_data_) { _internal_metadata_.MergeFrom(from._internal_metadata_); if (from.has_status()) { status_ = new ::milvus::grpc::Status(*from.status_); } else { status_ = nullptr; } - if (from.has_vector_data()) { - vector_data_ = new ::milvus::grpc::RowRecord(*from.vector_data_); - } else { - vector_data_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorData) + // @@protoc_insertion_point(copy_constructor:milvus.grpc.VectorsData) } -void VectorData::SharedCtor() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorData_milvus_2eproto.base); - ::memset(&status_, 0, static_cast( - reinterpret_cast(&vector_data_) - - reinterpret_cast(&status_)) + sizeof(vector_data_)); +void VectorsData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VectorsData_milvus_2eproto.base); + status_ = nullptr; } -VectorData::~VectorData() { - // @@protoc_insertion_point(destructor:milvus.grpc.VectorData) +VectorsData::~VectorsData() { + // @@protoc_insertion_point(destructor:milvus.grpc.VectorsData) SharedDtor(); } -void VectorData::SharedDtor() { +void VectorsData::SharedDtor() { if (this != internal_default_instance()) delete status_; - if (this != internal_default_instance()) delete vector_data_; } -void VectorData::SetCachedSize(int size) const { +void VectorsData::SetCachedSize(int size) const { _cached_size_.Set(size); } -const VectorData& VectorData::default_instance() { - ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorData_milvus_2eproto.base); +const VectorsData& VectorsData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VectorsData_milvus_2eproto.base); return *internal_default_instance(); } -void VectorData::Clear() { -// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorData) +void VectorsData::Clear() { +// @@protoc_insertion_point(message_clear_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + vectors_data_.Clear(); if (GetArenaNoVirtual() == nullptr && status_ != nullptr) { delete status_; } status_ = nullptr; - if (GetArenaNoVirtual() == nullptr && vector_data_ != nullptr) { - delete vector_data_; - } - vector_data_ = nullptr; _internal_metadata_.Clear(); } #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -const char* VectorData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* VectorsData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; @@ -10735,11 +9868,16 @@ const char* VectorData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: CHK_(ptr); } else goto handle_unusual; continue; - // .milvus.grpc.RowRecord vector_data = 2; + // repeated .milvus.grpc.RowRecord vectors_data = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(mutable_vector_data(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(add_vectors_data(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } else goto handle_unusual; continue; default: { @@ -10762,11 +9900,11 @@ failure: #undef CHK_ } #else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -bool VectorData::MergePartialFromCodedStream( +bool VectorsData::MergePartialFromCodedStream( ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure ::PROTOBUF_NAMESPACE_ID::uint32 tag; - // @@protoc_insertion_point(parse_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_start:milvus.grpc.VectorsData) for (;;) { ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; @@ -10783,11 +9921,11 @@ bool VectorData::MergePartialFromCodedStream( break; } - // .milvus.grpc.RowRecord vector_data = 2; + // repeated .milvus.grpc.RowRecord vectors_data = 2; case 2: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( - input, mutable_vector_data())); + input, add_vectors_data())); } else { goto handle_unusual; } @@ -10806,18 +9944,18 @@ bool VectorData::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_success:milvus.grpc.VectorsData) return true; failure: - // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorData) + // @@protoc_insertion_point(parse_failure:milvus.grpc.VectorsData) return false; #undef DO_ } #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER -void VectorData::SerializeWithCachedSizes( +void VectorsData::SerializeWithCachedSizes( ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10827,22 +9965,25 @@ void VectorData::SerializeWithCachedSizes( 1, _Internal::status(this), output); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { + // repeated .milvus.grpc.RowRecord vectors_data = 2; + for (unsigned int i = 0, + n = static_cast(this->vectors_data_size()); i < n; i++) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, _Internal::vector_data(this), output); + 2, + this->vectors_data(static_cast(i)), + output); } if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_end:milvus.grpc.VectorsData) } -::PROTOBUF_NAMESPACE_ID::uint8* VectorData::InternalSerializeWithCachedSizesToArray( +::PROTOBUF_NAMESPACE_ID::uint8* VectorsData::InternalSerializeWithCachedSizesToArray( ::PROTOBUF_NAMESPACE_ID::uint8* target) const { - // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_to_array_start:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -10853,23 +9994,24 @@ void VectorData::SerializeWithCachedSizes( 1, _Internal::status(this), target); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { + // repeated .milvus.grpc.RowRecord vectors_data = 2; + for (unsigned int i = 0, + n = static_cast(this->vectors_data_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessageToArray( - 2, _Internal::vector_data(this), target); + 2, this->vectors_data(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorData) + // @@protoc_insertion_point(serialize_to_array_end:milvus.grpc.VectorsData) return target; } -size_t VectorData::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorData) +size_t VectorsData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:milvus.grpc.VectorsData) size_t total_size = 0; if (_internal_metadata_.have_unknown_fields()) { @@ -10881,6 +10023,17 @@ size_t VectorData::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated .milvus.grpc.RowRecord vectors_data = 2; + { + unsigned int count = static_cast(this->vectors_data_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + this->vectors_data(static_cast(i))); + } + } + // .milvus.grpc.Status status = 1; if (this->has_status()) { total_size += 1 + @@ -10888,74 +10041,65 @@ size_t VectorData::ByteSizeLong() const { *status_); } - // .milvus.grpc.RowRecord vector_data = 2; - if (this->has_vector_data()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *vector_data_); - } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); SetCachedSize(cached_size); return total_size; } -void VectorData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorData) +void VectorsData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:milvus.grpc.VectorsData) GOOGLE_DCHECK_NE(&from, this); - const VectorData* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const VectorsData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorData) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.grpc.VectorsData) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorData) + // @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.grpc.VectorsData) MergeFrom(*source); } } -void VectorData::MergeFrom(const VectorData& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorData) +void VectorsData::MergeFrom(const VectorsData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:milvus.grpc.VectorsData) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + vectors_data_.MergeFrom(from.vectors_data_); if (from.has_status()) { mutable_status()->::milvus::grpc::Status::MergeFrom(from.status()); } - if (from.has_vector_data()) { - mutable_vector_data()->::milvus::grpc::RowRecord::MergeFrom(from.vector_data()); - } } -void VectorData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorData) +void VectorsData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:milvus.grpc.VectorsData) if (&from == this) return; Clear(); MergeFrom(from); } -void VectorData::CopyFrom(const VectorData& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorData) +void VectorsData::CopyFrom(const VectorsData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:milvus.grpc.VectorsData) if (&from == this) return; Clear(); MergeFrom(from); } -bool VectorData::IsInitialized() const { +bool VectorsData::IsInitialized() const { return true; } -void VectorData::InternalSwap(VectorData* other) { +void VectorsData::InternalSwap(VectorsData* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + CastToBase(&vectors_data_)->InternalSwap(CastToBase(&other->vectors_data_)); swap(status_, other->status_); - swap(vector_data_, other->vector_data_); } -::PROTOBUF_NAMESPACE_ID::Metadata VectorData::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata VectorsData::GetMetadata() const { return GetMetadataStatic(); } @@ -20891,20 +20035,14 @@ template<> PROTOBUF_NOINLINE ::milvus::grpc::FlushParam* Arena::CreateMaybeMessa template<> PROTOBUF_NOINLINE ::milvus::grpc::DeleteByIDParam* Arena::CreateMaybeMessage< ::milvus::grpc::DeleteByIDParam >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::DeleteByIDParam >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::SegmentStat* Arena::CreateMaybeMessage< ::milvus::grpc::SegmentStat >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::SegmentStat >(arena); -} -template<> PROTOBUF_NOINLINE ::milvus::grpc::PartitionStat* Arena::CreateMaybeMessage< ::milvus::grpc::PartitionStat >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::PartitionStat >(arena); -} template<> PROTOBUF_NOINLINE ::milvus::grpc::CollectionInfo* Arena::CreateMaybeMessage< ::milvus::grpc::CollectionInfo >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::CollectionInfo >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorIdentity* Arena::CreateMaybeMessage< ::milvus::grpc::VectorIdentity >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::VectorIdentity >(arena); +template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorsIdentity* Arena::CreateMaybeMessage< ::milvus::grpc::VectorsIdentity >(Arena* arena) { + return Arena::CreateInternal< ::milvus::grpc::VectorsIdentity >(arena); } -template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorData* Arena::CreateMaybeMessage< ::milvus::grpc::VectorData >(Arena* arena) { - return Arena::CreateInternal< ::milvus::grpc::VectorData >(arena); +template<> PROTOBUF_NOINLINE ::milvus::grpc::VectorsData* Arena::CreateMaybeMessage< ::milvus::grpc::VectorsData >(Arena* arena) { + return Arena::CreateInternal< ::milvus::grpc::VectorsData >(arena); } template<> PROTOBUF_NOINLINE ::milvus::grpc::GetVectorIDsParam* Arena::CreateMaybeMessage< ::milvus::grpc::GetVectorIDsParam >(Arena* arena) { return Arena::CreateInternal< ::milvus::grpc::GetVectorIDsParam >(arena); diff --git a/sdk/grpc-gen/gen-milvus/milvus.pb.h b/sdk/grpc-gen/gen-milvus/milvus.pb.h index b246211763..f9c74151a4 100644 --- a/sdk/grpc-gen/gen-milvus/milvus.pb.h +++ b/sdk/grpc-gen/gen-milvus/milvus.pb.h @@ -49,7 +49,7 @@ struct TableStruct_milvus_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[50] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[48] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -160,9 +160,6 @@ extern PartitionListDefaultTypeInternal _PartitionList_default_instance_; class PartitionParam; class PartitionParamDefaultTypeInternal; extern PartitionParamDefaultTypeInternal _PartitionParam_default_instance_; -class PartitionStat; -class PartitionStatDefaultTypeInternal; -extern PartitionStatDefaultTypeInternal _PartitionStat_default_instance_; class RangeQuery; class RangeQueryDefaultTypeInternal; extern RangeQueryDefaultTypeInternal _RangeQuery_default_instance_; @@ -178,9 +175,6 @@ extern SearchInFilesParamDefaultTypeInternal _SearchInFilesParam_default_instanc class SearchParam; class SearchParamDefaultTypeInternal; extern SearchParamDefaultTypeInternal _SearchParam_default_instance_; -class SegmentStat; -class SegmentStatDefaultTypeInternal; -extern SegmentStatDefaultTypeInternal _SegmentStat_default_instance_; class StringReply; class StringReplyDefaultTypeInternal; extern StringReplyDefaultTypeInternal _StringReply_default_instance_; @@ -190,24 +184,24 @@ extern TermQueryDefaultTypeInternal _TermQuery_default_instance_; class TopKQueryResult; class TopKQueryResultDefaultTypeInternal; extern TopKQueryResultDefaultTypeInternal _TopKQueryResult_default_instance_; -class VectorData; -class VectorDataDefaultTypeInternal; -extern VectorDataDefaultTypeInternal _VectorData_default_instance_; class VectorFieldParam; class VectorFieldParamDefaultTypeInternal; extern VectorFieldParamDefaultTypeInternal _VectorFieldParam_default_instance_; class VectorFieldValue; class VectorFieldValueDefaultTypeInternal; extern VectorFieldValueDefaultTypeInternal _VectorFieldValue_default_instance_; -class VectorIdentity; -class VectorIdentityDefaultTypeInternal; -extern VectorIdentityDefaultTypeInternal _VectorIdentity_default_instance_; class VectorIds; class VectorIdsDefaultTypeInternal; extern VectorIdsDefaultTypeInternal _VectorIds_default_instance_; class VectorQuery; class VectorQueryDefaultTypeInternal; extern VectorQueryDefaultTypeInternal _VectorQuery_default_instance_; +class VectorsData; +class VectorsDataDefaultTypeInternal; +extern VectorsDataDefaultTypeInternal _VectorsData_default_instance_; +class VectorsIdentity; +class VectorsIdentityDefaultTypeInternal; +extern VectorsIdentityDefaultTypeInternal _VectorsIdentity_default_instance_; } // namespace grpc } // namespace milvus PROTOBUF_NAMESPACE_OPEN @@ -245,22 +239,20 @@ template<> ::milvus::grpc::Mapping* Arena::CreateMaybeMessage<::milvus::grpc::Ma template<> ::milvus::grpc::MappingList* Arena::CreateMaybeMessage<::milvus::grpc::MappingList>(Arena*); template<> ::milvus::grpc::PartitionList* Arena::CreateMaybeMessage<::milvus::grpc::PartitionList>(Arena*); template<> ::milvus::grpc::PartitionParam* Arena::CreateMaybeMessage<::milvus::grpc::PartitionParam>(Arena*); -template<> ::milvus::grpc::PartitionStat* Arena::CreateMaybeMessage<::milvus::grpc::PartitionStat>(Arena*); template<> ::milvus::grpc::RangeQuery* Arena::CreateMaybeMessage<::milvus::grpc::RangeQuery>(Arena*); template<> ::milvus::grpc::RowRecord* Arena::CreateMaybeMessage<::milvus::grpc::RowRecord>(Arena*); template<> ::milvus::grpc::SearchByIDParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchByIDParam>(Arena*); template<> ::milvus::grpc::SearchInFilesParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchInFilesParam>(Arena*); template<> ::milvus::grpc::SearchParam* Arena::CreateMaybeMessage<::milvus::grpc::SearchParam>(Arena*); -template<> ::milvus::grpc::SegmentStat* Arena::CreateMaybeMessage<::milvus::grpc::SegmentStat>(Arena*); template<> ::milvus::grpc::StringReply* Arena::CreateMaybeMessage<::milvus::grpc::StringReply>(Arena*); template<> ::milvus::grpc::TermQuery* Arena::CreateMaybeMessage<::milvus::grpc::TermQuery>(Arena*); template<> ::milvus::grpc::TopKQueryResult* Arena::CreateMaybeMessage<::milvus::grpc::TopKQueryResult>(Arena*); -template<> ::milvus::grpc::VectorData* Arena::CreateMaybeMessage<::milvus::grpc::VectorData>(Arena*); template<> ::milvus::grpc::VectorFieldParam* Arena::CreateMaybeMessage<::milvus::grpc::VectorFieldParam>(Arena*); template<> ::milvus::grpc::VectorFieldValue* Arena::CreateMaybeMessage<::milvus::grpc::VectorFieldValue>(Arena*); -template<> ::milvus::grpc::VectorIdentity* Arena::CreateMaybeMessage<::milvus::grpc::VectorIdentity>(Arena*); template<> ::milvus::grpc::VectorIds* Arena::CreateMaybeMessage<::milvus::grpc::VectorIds>(Arena*); template<> ::milvus::grpc::VectorQuery* Arena::CreateMaybeMessage<::milvus::grpc::VectorQuery>(Arena*); +template<> ::milvus::grpc::VectorsData* Arena::CreateMaybeMessage<::milvus::grpc::VectorsData>(Arena*); +template<> ::milvus::grpc::VectorsIdentity* Arena::CreateMaybeMessage<::milvus::grpc::VectorsIdentity>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace milvus { namespace grpc { @@ -2226,9 +2218,9 @@ class SearchByIDParam : enum : int { kPartitionTagArrayFieldNumber = 2, + kIdArrayFieldNumber = 3, kExtraParamsFieldNumber = 5, kCollectionNameFieldNumber = 1, - kIdFieldNumber = 3, kTopkFieldNumber = 4, }; // repeated string partition_tag_array = 2; @@ -2248,6 +2240,17 @@ class SearchByIDParam : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& partition_tag_array() const; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_partition_tag_array(); + // repeated int64 id_array = 3; + int id_array_size() const; + void clear_id_array(); + ::PROTOBUF_NAMESPACE_ID::int64 id_array(int index) const; + void set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); + void add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& + id_array() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + mutable_id_array(); + // repeated .milvus.grpc.KeyValuePair extra_params = 5; int extra_params_size() const; void clear_extra_params(); @@ -2270,11 +2273,6 @@ class SearchByIDParam : std::string* release_collection_name(); void set_allocated_collection_name(std::string* collection_name); - // int64 id = 3; - void clear_id(); - ::PROTOBUF_NAMESPACE_ID::int64 id() const; - void set_id(::PROTOBUF_NAMESPACE_ID::int64 value); - // int64 topk = 4; void clear_topk(); ::PROTOBUF_NAMESPACE_ID::int64 topk() const; @@ -2286,9 +2284,10 @@ class SearchByIDParam : ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField partition_tag_array_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > id_array_; + mutable std::atomic _id_array_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::KeyValuePair > extra_params_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_; - ::PROTOBUF_NAMESPACE_ID::int64 id_; ::PROTOBUF_NAMESPACE_ID::int64 topk_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -3491,327 +3490,6 @@ class DeleteByIDParam : }; // ------------------------------------------------------------------- -class SegmentStat : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.SegmentStat) */ { - public: - SegmentStat(); - virtual ~SegmentStat(); - - SegmentStat(const SegmentStat& from); - SegmentStat(SegmentStat&& from) noexcept - : SegmentStat() { - *this = ::std::move(from); - } - - inline SegmentStat& operator=(const SegmentStat& from) { - CopyFrom(from); - return *this; - } - inline SegmentStat& operator=(SegmentStat&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return GetMetadataStatic().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return GetMetadataStatic().reflection; - } - static const SegmentStat& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const SegmentStat* internal_default_instance() { - return reinterpret_cast( - &_SegmentStat_default_instance_); - } - static constexpr int kIndexInFileMessages = - 20; - - friend void swap(SegmentStat& a, SegmentStat& b) { - a.Swap(&b); - } - inline void Swap(SegmentStat* other) { - if (other == this) return; - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline SegmentStat* New() const final { - return CreateMaybeMessage(nullptr); - } - - SegmentStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const SegmentStat& from); - void MergeFrom(const SegmentStat& from); - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - #else - bool MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final; - #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - void SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final; - ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - inline void SharedCtor(); - inline void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SegmentStat* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.SegmentStat"; - } - private: - inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { - return nullptr; - } - inline void* MaybeArenaPtr() const { - return nullptr; - } - public: - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - private: - static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto); - return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages]; - } - - public: - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSegmentNameFieldNumber = 1, - kIndexNameFieldNumber = 3, - kRowCountFieldNumber = 2, - kDataSizeFieldNumber = 4, - }; - // string segment_name = 1; - void clear_segment_name(); - const std::string& segment_name() const; - void set_segment_name(const std::string& value); - void set_segment_name(std::string&& value); - void set_segment_name(const char* value); - void set_segment_name(const char* value, size_t size); - std::string* mutable_segment_name(); - std::string* release_segment_name(); - void set_allocated_segment_name(std::string* segment_name); - - // string index_name = 3; - void clear_index_name(); - const std::string& index_name() const; - void set_index_name(const std::string& value); - void set_index_name(std::string&& value); - void set_index_name(const char* value); - void set_index_name(const char* value, size_t size); - std::string* mutable_index_name(); - std::string* release_index_name(); - void set_allocated_index_name(std::string* index_name); - - // int64 row_count = 2; - void clear_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 row_count() const; - void set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - - // int64 data_size = 4; - void clear_data_size(); - ::PROTOBUF_NAMESPACE_ID::int64 data_size() const; - void set_data_size(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.SegmentStat) - private: - class _Internal; - - ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr segment_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr index_name_; - ::PROTOBUF_NAMESPACE_ID::int64 row_count_; - ::PROTOBUF_NAMESPACE_ID::int64 data_size_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_milvus_2eproto; -}; -// ------------------------------------------------------------------- - -class PartitionStat : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.PartitionStat) */ { - public: - PartitionStat(); - virtual ~PartitionStat(); - - PartitionStat(const PartitionStat& from); - PartitionStat(PartitionStat&& from) noexcept - : PartitionStat() { - *this = ::std::move(from); - } - - inline PartitionStat& operator=(const PartitionStat& from) { - CopyFrom(from); - return *this; - } - inline PartitionStat& operator=(PartitionStat&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return GetMetadataStatic().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return GetMetadataStatic().reflection; - } - static const PartitionStat& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const PartitionStat* internal_default_instance() { - return reinterpret_cast( - &_PartitionStat_default_instance_); - } - static constexpr int kIndexInFileMessages = - 21; - - friend void swap(PartitionStat& a, PartitionStat& b) { - a.Swap(&b); - } - inline void Swap(PartitionStat* other) { - if (other == this) return; - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline PartitionStat* New() const final { - return CreateMaybeMessage(nullptr); - } - - PartitionStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const PartitionStat& from); - void MergeFrom(const PartitionStat& from); - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - #else - bool MergePartialFromCodedStream( - ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final; - #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER - void SerializeWithCachedSizes( - ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final; - ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray( - ::PROTOBUF_NAMESPACE_ID::uint8* target) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - inline void SharedCtor(); - inline void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionStat* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.PartitionStat"; - } - private: - inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { - return nullptr; - } - inline void* MaybeArenaPtr() const { - return nullptr; - } - public: - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - private: - static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto); - return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages]; - } - - public: - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSegmentsStatFieldNumber = 3, - kTagFieldNumber = 1, - kTotalRowCountFieldNumber = 2, - }; - // repeated .milvus.grpc.SegmentStat segments_stat = 3; - int segments_stat_size() const; - void clear_segments_stat(); - ::milvus::grpc::SegmentStat* mutable_segments_stat(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >* - mutable_segments_stat(); - const ::milvus::grpc::SegmentStat& segments_stat(int index) const; - ::milvus::grpc::SegmentStat* add_segments_stat(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >& - segments_stat() const; - - // string tag = 1; - void clear_tag(); - const std::string& tag() const; - void set_tag(const std::string& value); - void set_tag(std::string&& value); - void set_tag(const char* value); - void set_tag(const char* value, size_t size); - std::string* mutable_tag(); - std::string* release_tag(); - void set_allocated_tag(std::string* tag); - - // int64 total_row_count = 2; - void clear_total_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count() const; - void set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.PartitionStat) - private: - class _Internal; - - ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat > segments_stat_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tag_; - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_milvus_2eproto; -}; -// ------------------------------------------------------------------- - class CollectionInfo : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.CollectionInfo) */ { public: @@ -3854,7 +3532,7 @@ class CollectionInfo : &_CollectionInfo_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 20; friend void swap(CollectionInfo& a, CollectionInfo& b) { a.Swap(&b); @@ -3925,20 +3603,19 @@ class CollectionInfo : // accessors ------------------------------------------------------- enum : int { - kPartitionsStatFieldNumber = 3, + kJsonInfoFieldNumber = 2, kStatusFieldNumber = 1, - kTotalRowCountFieldNumber = 2, }; - // repeated .milvus.grpc.PartitionStat partitions_stat = 3; - int partitions_stat_size() const; - void clear_partitions_stat(); - ::milvus::grpc::PartitionStat* mutable_partitions_stat(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >* - mutable_partitions_stat(); - const ::milvus::grpc::PartitionStat& partitions_stat(int index) const; - ::milvus::grpc::PartitionStat* add_partitions_stat(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >& - partitions_stat() const; + // string json_info = 2; + void clear_json_info(); + const std::string& json_info() const; + void set_json_info(const std::string& value); + void set_json_info(std::string&& value); + void set_json_info(const char* value); + void set_json_info(const char* value, size_t size); + std::string* mutable_json_info(); + std::string* release_json_info(); + void set_allocated_json_info(std::string* json_info); // .milvus.grpc.Status status = 1; bool has_status() const; @@ -3948,41 +3625,35 @@ class CollectionInfo : ::milvus::grpc::Status* mutable_status(); void set_allocated_status(::milvus::grpc::Status* status); - // int64 total_row_count = 2; - void clear_total_row_count(); - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count() const; - void set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); - // @@protoc_insertion_point(class_scope:milvus.grpc.CollectionInfo) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat > partitions_stat_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr json_info_; ::milvus::grpc::Status* status_; - ::PROTOBUF_NAMESPACE_ID::int64 total_row_count_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; // ------------------------------------------------------------------- -class VectorIdentity : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorIdentity) */ { +class VectorsIdentity : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorsIdentity) */ { public: - VectorIdentity(); - virtual ~VectorIdentity(); + VectorsIdentity(); + virtual ~VectorsIdentity(); - VectorIdentity(const VectorIdentity& from); - VectorIdentity(VectorIdentity&& from) noexcept - : VectorIdentity() { + VectorsIdentity(const VectorsIdentity& from); + VectorsIdentity(VectorsIdentity&& from) noexcept + : VectorsIdentity() { *this = ::std::move(from); } - inline VectorIdentity& operator=(const VectorIdentity& from) { + inline VectorsIdentity& operator=(const VectorsIdentity& from) { CopyFrom(from); return *this; } - inline VectorIdentity& operator=(VectorIdentity&& from) noexcept { + inline VectorsIdentity& operator=(VectorsIdentity&& from) noexcept { if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { if (this != &from) InternalSwap(&from); } else { @@ -4000,37 +3671,37 @@ class VectorIdentity : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } - static const VectorIdentity& default_instance(); + static const VectorsIdentity& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const VectorIdentity* internal_default_instance() { - return reinterpret_cast( - &_VectorIdentity_default_instance_); + static inline const VectorsIdentity* internal_default_instance() { + return reinterpret_cast( + &_VectorsIdentity_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 21; - friend void swap(VectorIdentity& a, VectorIdentity& b) { + friend void swap(VectorsIdentity& a, VectorsIdentity& b) { a.Swap(&b); } - inline void Swap(VectorIdentity* other) { + inline void Swap(VectorsIdentity* other) { if (other == this) return; InternalSwap(other); } // implements Message ---------------------------------------------- - inline VectorIdentity* New() const final { - return CreateMaybeMessage(nullptr); + inline VectorsIdentity* New() const final { + return CreateMaybeMessage(nullptr); } - VectorIdentity* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + VectorsIdentity* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const VectorIdentity& from); - void MergeFrom(const VectorIdentity& from); + void CopyFrom(const VectorsIdentity& from); + void MergeFrom(const VectorsIdentity& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -4051,10 +3722,10 @@ class VectorIdentity : inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(VectorIdentity* other); + void InternalSwap(VectorsIdentity* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.VectorIdentity"; + return "milvus.grpc.VectorsIdentity"; } private: inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { @@ -4079,9 +3750,20 @@ class VectorIdentity : // accessors ------------------------------------------------------- enum : int { + kIdArrayFieldNumber = 2, kCollectionNameFieldNumber = 1, - kIdFieldNumber = 2, }; + // repeated int64 id_array = 2; + int id_array_size() const; + void clear_id_array(); + ::PROTOBUF_NAMESPACE_ID::int64 id_array(int index) const; + void set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); + void add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& + id_array() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + mutable_id_array(); + // string collection_name = 1; void clear_collection_name(); const std::string& collection_name() const; @@ -4093,40 +3775,36 @@ class VectorIdentity : std::string* release_collection_name(); void set_allocated_collection_name(std::string* collection_name); - // int64 id = 2; - void clear_id(); - ::PROTOBUF_NAMESPACE_ID::int64 id() const; - void set_id(::PROTOBUF_NAMESPACE_ID::int64 value); - - // @@protoc_insertion_point(class_scope:milvus.grpc.VectorIdentity) + // @@protoc_insertion_point(class_scope:milvus.grpc.VectorsIdentity) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > id_array_; + mutable std::atomic _id_array_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_; - ::PROTOBUF_NAMESPACE_ID::int64 id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; // ------------------------------------------------------------------- -class VectorData : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorData) */ { +class VectorsData : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.grpc.VectorsData) */ { public: - VectorData(); - virtual ~VectorData(); + VectorsData(); + virtual ~VectorsData(); - VectorData(const VectorData& from); - VectorData(VectorData&& from) noexcept - : VectorData() { + VectorsData(const VectorsData& from); + VectorsData(VectorsData&& from) noexcept + : VectorsData() { *this = ::std::move(from); } - inline VectorData& operator=(const VectorData& from) { + inline VectorsData& operator=(const VectorsData& from) { CopyFrom(from); return *this; } - inline VectorData& operator=(VectorData&& from) noexcept { + inline VectorsData& operator=(VectorsData&& from) noexcept { if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { if (this != &from) InternalSwap(&from); } else { @@ -4144,37 +3822,37 @@ class VectorData : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return GetMetadataStatic().reflection; } - static const VectorData& default_instance(); + static const VectorsData& default_instance(); static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const VectorData* internal_default_instance() { - return reinterpret_cast( - &_VectorData_default_instance_); + static inline const VectorsData* internal_default_instance() { + return reinterpret_cast( + &_VectorsData_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 22; - friend void swap(VectorData& a, VectorData& b) { + friend void swap(VectorsData& a, VectorsData& b) { a.Swap(&b); } - inline void Swap(VectorData* other) { + inline void Swap(VectorsData* other) { if (other == this) return; InternalSwap(other); } // implements Message ---------------------------------------------- - inline VectorData* New() const final { - return CreateMaybeMessage(nullptr); + inline VectorsData* New() const final { + return CreateMaybeMessage(nullptr); } - VectorData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + VectorsData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const VectorData& from); - void MergeFrom(const VectorData& from); + void CopyFrom(const VectorsData& from); + void MergeFrom(const VectorsData& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -4195,10 +3873,10 @@ class VectorData : inline void SharedCtor(); inline void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(VectorData* other); + void InternalSwap(VectorsData* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "milvus.grpc.VectorData"; + return "milvus.grpc.VectorsData"; } private: inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const { @@ -4223,9 +3901,20 @@ class VectorData : // accessors ------------------------------------------------------- enum : int { + kVectorsDataFieldNumber = 2, kStatusFieldNumber = 1, - kVectorDataFieldNumber = 2, }; + // repeated .milvus.grpc.RowRecord vectors_data = 2; + int vectors_data_size() const; + void clear_vectors_data(); + ::milvus::grpc::RowRecord* mutable_vectors_data(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >* + mutable_vectors_data(); + const ::milvus::grpc::RowRecord& vectors_data(int index) const; + ::milvus::grpc::RowRecord* add_vectors_data(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >& + vectors_data() const; + // .milvus.grpc.Status status = 1; bool has_status() const; void clear_status(); @@ -4234,21 +3923,13 @@ class VectorData : ::milvus::grpc::Status* mutable_status(); void set_allocated_status(::milvus::grpc::Status* status); - // .milvus.grpc.RowRecord vector_data = 2; - bool has_vector_data() const; - void clear_vector_data(); - const ::milvus::grpc::RowRecord& vector_data() const; - ::milvus::grpc::RowRecord* release_vector_data(); - ::milvus::grpc::RowRecord* mutable_vector_data(); - void set_allocated_vector_data(::milvus::grpc::RowRecord* vector_data); - - // @@protoc_insertion_point(class_scope:milvus.grpc.VectorData) + // @@protoc_insertion_point(class_scope:milvus.grpc.VectorsData) private: class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord > vectors_data_; ::milvus::grpc::Status* status_; - ::milvus::grpc::RowRecord* vector_data_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; }; @@ -4296,7 +3977,7 @@ class GetVectorIDsParam : &_GetVectorIDsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 23; friend void swap(GetVectorIDsParam& a, GetVectorIDsParam& b) { a.Swap(&b); @@ -4446,7 +4127,7 @@ class VectorFieldParam : &_VectorFieldParam_default_instance_); } static constexpr int kIndexInFileMessages = - 26; + 24; friend void swap(VectorFieldParam& a, VectorFieldParam& b) { a.Swap(&b); @@ -4583,7 +4264,7 @@ class FieldType : &_FieldType_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 25; friend void swap(FieldType& a, FieldType& b) { a.Swap(&b); @@ -4739,7 +4420,7 @@ class FieldParam : &_FieldParam_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 26; friend void swap(FieldParam& a, FieldParam& b) { a.Swap(&b); @@ -4906,7 +4587,7 @@ class VectorFieldValue : &_VectorFieldValue_default_instance_); } static constexpr int kIndexInFileMessages = - 29; + 27; friend void swap(VectorFieldValue& a, VectorFieldValue& b) { a.Swap(&b); @@ -5054,7 +4735,7 @@ class FieldValue : &_FieldValue_default_instance_); } static constexpr int kIndexInFileMessages = - 30; + 28; friend void swap(FieldValue& a, FieldValue& b) { a.Swap(&b); @@ -5271,7 +4952,7 @@ class Mapping : &_Mapping_default_instance_); } static constexpr int kIndexInFileMessages = - 31; + 29; friend void swap(Mapping& a, Mapping& b) { a.Swap(&b); @@ -5438,7 +5119,7 @@ class MappingList : &_MappingList_default_instance_); } static constexpr int kIndexInFileMessages = - 32; + 30; friend void swap(MappingList& a, MappingList& b) { a.Swap(&b); @@ -5585,7 +5266,7 @@ class TermQuery : &_TermQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 31; friend void swap(TermQuery& a, TermQuery& b) { a.Swap(&b); @@ -5762,7 +5443,7 @@ class CompareExpr : &_CompareExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 32; friend void swap(CompareExpr& a, CompareExpr& b) { a.Swap(&b); @@ -5906,7 +5587,7 @@ class RangeQuery : &_RangeQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 33; friend void swap(RangeQuery& a, RangeQuery& b) { a.Swap(&b); @@ -6076,7 +5757,7 @@ class VectorQuery : &_VectorQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 34; friend void swap(VectorQuery& a, VectorQuery& b) { a.Swap(&b); @@ -6253,7 +5934,7 @@ class BooleanQuery : &_BooleanQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 35; friend void swap(BooleanQuery& a, BooleanQuery& b) { a.Swap(&b); @@ -6405,7 +6086,7 @@ class GeneralQuery : &_GeneralQuery_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 36; friend void swap(GeneralQuery& a, GeneralQuery& b) { a.Swap(&b); @@ -6583,7 +6264,7 @@ class HSearchParam : &_HSearchParam_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 37; friend void swap(HSearchParam& a, HSearchParam& b) { a.Swap(&b); @@ -6762,7 +6443,7 @@ class HSearchInSegmentsParam : &_HSearchInSegmentsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 38; friend void swap(HSearchInSegmentsParam& a, HSearchInSegmentsParam& b) { a.Swap(&b); @@ -6915,7 +6596,7 @@ class AttrRecord : &_AttrRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 39; friend void swap(AttrRecord& a, AttrRecord& b) { a.Swap(&b); @@ -7058,7 +6739,7 @@ class HEntity : &_HEntity_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 40; friend void swap(HEntity& a, HEntity& b) { a.Swap(&b); @@ -7251,7 +6932,7 @@ class HQueryResult : &_HQueryResult_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 41; friend void swap(HQueryResult& a, HQueryResult& b) { a.Swap(&b); @@ -7433,7 +7114,7 @@ class HInsertParam : &_HInsertParam_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 42; friend void swap(HInsertParam& a, HInsertParam& b) { a.Swap(&b); @@ -7620,7 +7301,7 @@ class HEntityIdentity : &_HEntityIdentity_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 43; friend void swap(HEntityIdentity& a, HEntityIdentity& b) { a.Swap(&b); @@ -7764,7 +7445,7 @@ class HEntityIDs : &_HEntityIDs_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 44; friend void swap(HEntityIDs& a, HEntityIDs& b) { a.Swap(&b); @@ -7912,7 +7593,7 @@ class HGetEntityIDsParam : &_HGetEntityIDsParam_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 45; friend void swap(HGetEntityIDsParam& a, HGetEntityIDsParam& b) { a.Swap(&b); @@ -8062,7 +7743,7 @@ class HDeleteByIDParam : &_HDeleteByIDParam_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 46; friend void swap(HDeleteByIDParam& a, HDeleteByIDParam& b) { a.Swap(&b); @@ -8213,7 +7894,7 @@ class HIndexParam : &_HIndexParam_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 47; friend void swap(HIndexParam& a, HIndexParam& b) { a.Swap(&b); @@ -9804,18 +9485,34 @@ SearchByIDParam::mutable_partition_tag_array() { return &partition_tag_array_; } -// int64 id = 3; -inline void SearchByIDParam::clear_id() { - id_ = PROTOBUF_LONGLONG(0); +// repeated int64 id_array = 3; +inline int SearchByIDParam::id_array_size() const { + return id_array_.size(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 SearchByIDParam::id() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SearchByIDParam.id) - return id_; +inline void SearchByIDParam::clear_id_array() { + id_array_.Clear(); } -inline void SearchByIDParam::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - id_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SearchByIDParam.id) +inline ::PROTOBUF_NAMESPACE_ID::int64 SearchByIDParam::id_array(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.SearchByIDParam.id_array) + return id_array_.Get(index); +} +inline void SearchByIDParam::set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Set(index, value); + // @@protoc_insertion_point(field_set:milvus.grpc.SearchByIDParam.id_array) +} +inline void SearchByIDParam::add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Add(value); + // @@protoc_insertion_point(field_add:milvus.grpc.SearchByIDParam.id_array) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& +SearchByIDParam::id_array() const { + // @@protoc_insertion_point(field_list:milvus.grpc.SearchByIDParam.id_array) + return id_array_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +SearchByIDParam::mutable_id_array() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.SearchByIDParam.id_array) + return &id_array_; } // int64 topk = 4; @@ -10566,239 +10263,6 @@ DeleteByIDParam::mutable_id_array() { // ------------------------------------------------------------------- -// SegmentStat - -// string segment_name = 1; -inline void SegmentStat::clear_segment_name() { - segment_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& SegmentStat::segment_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.segment_name) - return segment_name_.GetNoArena(); -} -inline void SegmentStat::set_segment_name(const std::string& value) { - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(std::string&& value) { - - segment_name_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.SegmentStat.segment_name) -} -inline void SegmentStat::set_segment_name(const char* value, size_t size) { - - segment_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.SegmentStat.segment_name) -} -inline std::string* SegmentStat::mutable_segment_name() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.SegmentStat.segment_name) - return segment_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* SegmentStat::release_segment_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.SegmentStat.segment_name) - - return segment_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void SegmentStat::set_allocated_segment_name(std::string* segment_name) { - if (segment_name != nullptr) { - - } else { - - } - segment_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), segment_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.SegmentStat.segment_name) -} - -// int64 row_count = 2; -inline void SegmentStat::clear_row_count() { - row_count_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 SegmentStat::row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.row_count) - return row_count_; -} -inline void SegmentStat::set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { - - row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.row_count) -} - -// string index_name = 3; -inline void SegmentStat::clear_index_name() { - index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& SegmentStat::index_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.index_name) - return index_name_.GetNoArena(); -} -inline void SegmentStat::set_index_name(const std::string& value) { - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(std::string&& value) { - - index_name_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.SegmentStat.index_name) -} -inline void SegmentStat::set_index_name(const char* value, size_t size) { - - index_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.SegmentStat.index_name) -} -inline std::string* SegmentStat::mutable_index_name() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.SegmentStat.index_name) - return index_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* SegmentStat::release_index_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.SegmentStat.index_name) - - return index_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void SegmentStat::set_allocated_index_name(std::string* index_name) { - if (index_name != nullptr) { - - } else { - - } - index_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), index_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.SegmentStat.index_name) -} - -// int64 data_size = 4; -inline void SegmentStat::clear_data_size() { - data_size_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 SegmentStat::data_size() const { - // @@protoc_insertion_point(field_get:milvus.grpc.SegmentStat.data_size) - return data_size_; -} -inline void SegmentStat::set_data_size(::PROTOBUF_NAMESPACE_ID::int64 value) { - - data_size_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.SegmentStat.data_size) -} - -// ------------------------------------------------------------------- - -// PartitionStat - -// string tag = 1; -inline void PartitionStat::clear_tag() { - tag_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline const std::string& PartitionStat::tag() const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.tag) - return tag_.GetNoArena(); -} -inline void PartitionStat::set_tag(const std::string& value) { - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(std::string&& value) { - - tag_.SetNoArena( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(const char* value) { - GOOGLE_DCHECK(value != nullptr); - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.PartitionStat.tag) -} -inline void PartitionStat::set_tag(const char* value, size_t size) { - - tag_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.PartitionStat.tag) -} -inline std::string* PartitionStat::mutable_tag() { - - // @@protoc_insertion_point(field_mutable:milvus.grpc.PartitionStat.tag) - return tag_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline std::string* PartitionStat::release_tag() { - // @@protoc_insertion_point(field_release:milvus.grpc.PartitionStat.tag) - - return tag_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} -inline void PartitionStat::set_allocated_tag(std::string* tag) { - if (tag != nullptr) { - - } else { - - } - tag_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tag); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.PartitionStat.tag) -} - -// int64 total_row_count = 2; -inline void PartitionStat::clear_total_row_count() { - total_row_count_ = PROTOBUF_LONGLONG(0); -} -inline ::PROTOBUF_NAMESPACE_ID::int64 PartitionStat::total_row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.total_row_count) - return total_row_count_; -} -inline void PartitionStat::set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { - - total_row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.PartitionStat.total_row_count) -} - -// repeated .milvus.grpc.SegmentStat segments_stat = 3; -inline int PartitionStat::segments_stat_size() const { - return segments_stat_.size(); -} -inline void PartitionStat::clear_segments_stat() { - segments_stat_.Clear(); -} -inline ::milvus::grpc::SegmentStat* PartitionStat::mutable_segments_stat(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >* -PartitionStat::mutable_segments_stat() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.PartitionStat.segments_stat) - return &segments_stat_; -} -inline const ::milvus::grpc::SegmentStat& PartitionStat::segments_stat(int index) const { - // @@protoc_insertion_point(field_get:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Get(index); -} -inline ::milvus::grpc::SegmentStat* PartitionStat::add_segments_stat() { - // @@protoc_insertion_point(field_add:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_.Add(); -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::SegmentStat >& -PartitionStat::segments_stat() const { - // @@protoc_insertion_point(field_list:milvus.grpc.PartitionStat.segments_stat) - return segments_stat_; -} - -// ------------------------------------------------------------------- - // CollectionInfo // .milvus.grpc.Status status = 1; @@ -10846,150 +10310,173 @@ inline void CollectionInfo::set_allocated_status(::milvus::grpc::Status* status) // @@protoc_insertion_point(field_set_allocated:milvus.grpc.CollectionInfo.status) } -// int64 total_row_count = 2; -inline void CollectionInfo::clear_total_row_count() { - total_row_count_ = PROTOBUF_LONGLONG(0); +// string json_info = 2; +inline void CollectionInfo::clear_json_info() { + json_info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::PROTOBUF_NAMESPACE_ID::int64 CollectionInfo::total_row_count() const { - // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.total_row_count) - return total_row_count_; +inline const std::string& CollectionInfo::json_info() const { + // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.json_info) + return json_info_.GetNoArena(); } -inline void CollectionInfo::set_total_row_count(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void CollectionInfo::set_json_info(const std::string& value) { - total_row_count_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.CollectionInfo.total_row_count) + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:milvus.grpc.CollectionInfo.json_info) } - -// repeated .milvus.grpc.PartitionStat partitions_stat = 3; -inline int CollectionInfo::partitions_stat_size() const { - return partitions_stat_.size(); +inline void CollectionInfo::set_json_info(std::string&& value) { + + json_info_.SetNoArena( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.CollectionInfo.json_info) } -inline void CollectionInfo::clear_partitions_stat() { - partitions_stat_.Clear(); +inline void CollectionInfo::set_json_info(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:milvus.grpc.CollectionInfo.json_info) } -inline ::milvus::grpc::PartitionStat* CollectionInfo::mutable_partitions_stat(int index) { - // @@protoc_insertion_point(field_mutable:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Mutable(index); +inline void CollectionInfo::set_json_info(const char* value, size_t size) { + + json_info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.CollectionInfo.json_info) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >* -CollectionInfo::mutable_partitions_stat() { - // @@protoc_insertion_point(field_mutable_list:milvus.grpc.CollectionInfo.partitions_stat) - return &partitions_stat_; +inline std::string* CollectionInfo::mutable_json_info() { + + // @@protoc_insertion_point(field_mutable:milvus.grpc.CollectionInfo.json_info) + return json_info_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const ::milvus::grpc::PartitionStat& CollectionInfo::partitions_stat(int index) const { - // @@protoc_insertion_point(field_get:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Get(index); +inline std::string* CollectionInfo::release_json_info() { + // @@protoc_insertion_point(field_release:milvus.grpc.CollectionInfo.json_info) + + return json_info_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline ::milvus::grpc::PartitionStat* CollectionInfo::add_partitions_stat() { - // @@protoc_insertion_point(field_add:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_.Add(); -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::PartitionStat >& -CollectionInfo::partitions_stat() const { - // @@protoc_insertion_point(field_list:milvus.grpc.CollectionInfo.partitions_stat) - return partitions_stat_; +inline void CollectionInfo::set_allocated_json_info(std::string* json_info) { + if (json_info != nullptr) { + + } else { + + } + json_info_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), json_info); + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.CollectionInfo.json_info) } // ------------------------------------------------------------------- -// VectorIdentity +// VectorsIdentity // string collection_name = 1; -inline void VectorIdentity::clear_collection_name() { +inline void VectorsIdentity::clear_collection_name() { collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline const std::string& VectorIdentity::collection_name() const { - // @@protoc_insertion_point(field_get:milvus.grpc.VectorIdentity.collection_name) +inline const std::string& VectorsIdentity::collection_name() const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.GetNoArena(); } -inline void VectorIdentity::set_collection_name(const std::string& value) { +inline void VectorsIdentity::set_collection_name(const std::string& value) { collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(std::string&& value) { +inline void VectorsIdentity::set_collection_name(std::string&& value) { collection_name_.SetNoArena( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_rvalue:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(const char* value) { +inline void VectorsIdentity::set_collection_name(const char* value) { GOOGLE_DCHECK(value != nullptr); collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_char:milvus.grpc.VectorsIdentity.collection_name) } -inline void VectorIdentity::set_collection_name(const char* value, size_t size) { +inline void VectorsIdentity::set_collection_name(const char* value, size_t size) { collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_pointer:milvus.grpc.VectorsIdentity.collection_name) } -inline std::string* VectorIdentity::mutable_collection_name() { +inline std::string* VectorsIdentity::mutable_collection_name() { - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline std::string* VectorIdentity::release_collection_name() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorIdentity.collection_name) +inline std::string* VectorsIdentity::release_collection_name() { + // @@protoc_insertion_point(field_release:milvus.grpc.VectorsIdentity.collection_name) return collection_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -inline void VectorIdentity::set_allocated_collection_name(std::string* collection_name) { +inline void VectorsIdentity::set_allocated_collection_name(std::string* collection_name) { if (collection_name != nullptr) { } else { } collection_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), collection_name); - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorIdentity.collection_name) + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorsIdentity.collection_name) } -// int64 id = 2; -inline void VectorIdentity::clear_id() { - id_ = PROTOBUF_LONGLONG(0); +// repeated int64 id_array = 2; +inline int VectorsIdentity::id_array_size() const { + return id_array_.size(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 VectorIdentity::id() const { - // @@protoc_insertion_point(field_get:milvus.grpc.VectorIdentity.id) - return id_; +inline void VectorsIdentity::clear_id_array() { + id_array_.Clear(); } -inline void VectorIdentity::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - id_ = value; - // @@protoc_insertion_point(field_set:milvus.grpc.VectorIdentity.id) +inline ::PROTOBUF_NAMESPACE_ID::int64 VectorsIdentity::id_array(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsIdentity.id_array) + return id_array_.Get(index); +} +inline void VectorsIdentity::set_id_array(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Set(index, value); + // @@protoc_insertion_point(field_set:milvus.grpc.VectorsIdentity.id_array) +} +inline void VectorsIdentity::add_id_array(::PROTOBUF_NAMESPACE_ID::int64 value) { + id_array_.Add(value); + // @@protoc_insertion_point(field_add:milvus.grpc.VectorsIdentity.id_array) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& +VectorsIdentity::id_array() const { + // @@protoc_insertion_point(field_list:milvus.grpc.VectorsIdentity.id_array) + return id_array_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +VectorsIdentity::mutable_id_array() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.VectorsIdentity.id_array) + return &id_array_; } // ------------------------------------------------------------------- -// VectorData +// VectorsData // .milvus.grpc.Status status = 1; -inline bool VectorData::has_status() const { +inline bool VectorsData::has_status() const { return this != internal_default_instance() && status_ != nullptr; } -inline const ::milvus::grpc::Status& VectorData::status() const { +inline const ::milvus::grpc::Status& VectorsData::status() const { const ::milvus::grpc::Status* p = status_; - // @@protoc_insertion_point(field_get:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsData.status) return p != nullptr ? *p : *reinterpret_cast( &::milvus::grpc::_Status_default_instance_); } -inline ::milvus::grpc::Status* VectorData::release_status() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorData.status) +inline ::milvus::grpc::Status* VectorsData::release_status() { + // @@protoc_insertion_point(field_release:milvus.grpc.VectorsData.status) ::milvus::grpc::Status* temp = status_; status_ = nullptr; return temp; } -inline ::milvus::grpc::Status* VectorData::mutable_status() { +inline ::milvus::grpc::Status* VectorsData::mutable_status() { if (status_ == nullptr) { auto* p = CreateMaybeMessage<::milvus::grpc::Status>(GetArenaNoVirtual()); status_ = p; } - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsData.status) return status_; } -inline void VectorData::set_allocated_status(::milvus::grpc::Status* status) { +inline void VectorsData::set_allocated_status(::milvus::grpc::Status* status) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual(); if (message_arena == nullptr) { delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_); @@ -11005,58 +10492,37 @@ inline void VectorData::set_allocated_status(::milvus::grpc::Status* status) { } status_ = status; - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorData.status) + // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorsData.status) } -// .milvus.grpc.RowRecord vector_data = 2; -inline bool VectorData::has_vector_data() const { - return this != internal_default_instance() && vector_data_ != nullptr; +// repeated .milvus.grpc.RowRecord vectors_data = 2; +inline int VectorsData::vectors_data_size() const { + return vectors_data_.size(); } -inline void VectorData::clear_vector_data() { - if (GetArenaNoVirtual() == nullptr && vector_data_ != nullptr) { - delete vector_data_; - } - vector_data_ = nullptr; +inline void VectorsData::clear_vectors_data() { + vectors_data_.Clear(); } -inline const ::milvus::grpc::RowRecord& VectorData::vector_data() const { - const ::milvus::grpc::RowRecord* p = vector_data_; - // @@protoc_insertion_point(field_get:milvus.grpc.VectorData.vector_data) - return p != nullptr ? *p : *reinterpret_cast( - &::milvus::grpc::_RowRecord_default_instance_); +inline ::milvus::grpc::RowRecord* VectorsData::mutable_vectors_data(int index) { + // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Mutable(index); } -inline ::milvus::grpc::RowRecord* VectorData::release_vector_data() { - // @@protoc_insertion_point(field_release:milvus.grpc.VectorData.vector_data) - - ::milvus::grpc::RowRecord* temp = vector_data_; - vector_data_ = nullptr; - return temp; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >* +VectorsData::mutable_vectors_data() { + // @@protoc_insertion_point(field_mutable_list:milvus.grpc.VectorsData.vectors_data) + return &vectors_data_; } -inline ::milvus::grpc::RowRecord* VectorData::mutable_vector_data() { - - if (vector_data_ == nullptr) { - auto* p = CreateMaybeMessage<::milvus::grpc::RowRecord>(GetArenaNoVirtual()); - vector_data_ = p; - } - // @@protoc_insertion_point(field_mutable:milvus.grpc.VectorData.vector_data) - return vector_data_; +inline const ::milvus::grpc::RowRecord& VectorsData::vectors_data(int index) const { + // @@protoc_insertion_point(field_get:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Get(index); } -inline void VectorData::set_allocated_vector_data(::milvus::grpc::RowRecord* vector_data) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == nullptr) { - delete vector_data_; - } - if (vector_data) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr; - if (message_arena != submessage_arena) { - vector_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, vector_data, submessage_arena); - } - - } else { - - } - vector_data_ = vector_data; - // @@protoc_insertion_point(field_set_allocated:milvus.grpc.VectorData.vector_data) +inline ::milvus::grpc::RowRecord* VectorsData::add_vectors_data() { + // @@protoc_insertion_point(field_add:milvus.grpc.VectorsData.vectors_data) + return vectors_data_.Add(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::grpc::RowRecord >& +VectorsData::vectors_data() const { + // @@protoc_insertion_point(field_list:milvus.grpc.VectorsData.vectors_data) + return vectors_data_; } // ------------------------------------------------------------------- @@ -14255,10 +13721,6 @@ HIndexParam::extra_params() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/sdk/grpc/ClientProxy.cpp b/sdk/grpc/ClientProxy.cpp index 5686c6b84f..dd18699289 100644 --- a/sdk/grpc/ClientProxy.cpp +++ b/sdk/grpc/ClientProxy.cpp @@ -61,17 +61,17 @@ CopyRowRecord(::milvus::grpc::RowRecord* target, const Entity& src) { } void -ConstructPartitionStat(const ::milvus::grpc::PartitionStat& grpc_partition_stat, PartitionStat& partition_stat) { - partition_stat.tag = grpc_partition_stat.tag(); - partition_stat.row_count = grpc_partition_stat.total_row_count(); - for (int i = 0; i < grpc_partition_stat.segments_stat_size(); i++) { - auto& grpc_seg_stat = grpc_partition_stat.segments_stat(i); - SegmentStat seg_stat; - seg_stat.row_count = grpc_seg_stat.row_count(); - seg_stat.segment_name = grpc_seg_stat.segment_name(); - seg_stat.index_name = grpc_seg_stat.index_name(); - seg_stat.data_size = grpc_seg_stat.data_size(); - partition_stat.segments_stat.emplace_back(seg_stat); +ConstructTopkResult(const ::milvus::grpc::TopKQueryResult& grpc_result, TopKQueryResult& topk_query_result) { + topk_query_result.reserve(grpc_result.row_num()); + int64_t nq = grpc_result.row_num(); + int64_t topk = grpc_result.ids().size() / nq; + for (int64_t i = 0; i < grpc_result.row_num(); i++) { + milvus::QueryResult one_result; + one_result.ids.resize(topk); + one_result.distances.resize(topk); + memcpy(one_result.ids.data(), grpc_result.ids().data() + topk * i, topk * sizeof(int64_t)); + memcpy(one_result.distances.data(), grpc_result.distances().data() + topk * i, topk * sizeof(float)); + topk_query_result.emplace_back(one_result); } } @@ -267,28 +267,60 @@ ClientProxy::Insert(const std::string& collection_name, const std::string& parti Status ClientProxy::GetEntityByID(const std::string& collection_name, int64_t entity_id, Entity& entity_data) { - try { - ::milvus::grpc::VectorIdentity vector_identity; - vector_identity.set_collection_name(collection_name); - vector_identity.set_id(entity_id); + std::vector id_array = {entity_id}; + std::vector entities_data; - ::milvus::grpc::VectorData grpc_data; - Status status = client_ptr_->GetVectorByID(vector_identity, grpc_data); + auto status = GetEntitiesByID(collection_name, id_array, entities_data); + if (!status.ok()) { + return status; + } + + if (entities_data.empty()) { + return Status(StatusCode::ServerFailed, "Failed to get entity by id"); + } + + entity_data.binary_data.swap(entities_data[0].binary_data); + entity_data.float_data.swap(entities_data[0].float_data); + + return status; +} + +Status +ClientProxy::GetEntitiesByID(const std::string& collection_name, + const std::vector& id_array, + std::vector& entities_data) { + try { + entities_data.clear(); + + ::milvus::grpc::VectorsIdentity vectors_identity; + vectors_identity.set_collection_name(collection_name); + for (auto id : id_array) { + vectors_identity.add_id_array(id); + } + + ::milvus::grpc::VectorsData grpc_data; + Status status = client_ptr_->GetVectorsByID(vectors_identity, grpc_data); if (!status.ok()) { return status; } - int float_size = grpc_data.vector_data().float_data_size(); - if (float_size > 0) { - entity_data.float_data.resize(float_size); - memcpy(entity_data.float_data.data(), grpc_data.vector_data().float_data().data(), - float_size * sizeof(float)); - } + int vector_count = grpc_data.vectors_data().size(); + for (int i = 0; i < vector_count; i++) { + const ::milvus::grpc::RowRecord& record = grpc_data.vectors_data(i); + Entity entity; - auto byte_size = grpc_data.vector_data().binary_data().length(); - if (byte_size > 0) { - entity_data.binary_data.resize(byte_size); - memcpy(entity_data.binary_data.data(), grpc_data.vector_data().binary_data().data(), byte_size); + int float_size = record.float_data_size(); + if (float_size > 0) { + entity.float_data.resize(float_size); + memcpy(entity.float_data.data(), record.float_data().data(), float_size * sizeof(float)); + } + + auto byte_size = record.binary_data().length(); + if (byte_size > 0) { + entity.binary_data.resize(byte_size); + memcpy(entity.binary_data.data(), record.binary_data().data(), byte_size); + } + entities_data.emplace_back(entity); } return status; @@ -338,25 +370,48 @@ ClientProxy::Search(const std::string& collection_name, const std::vectorSearch(search_param, result); - if (result.row_num() == 0) { + ::milvus::grpc::TopKQueryResult grpc_result; + Status status = client_ptr_->Search(search_param, grpc_result); + if (grpc_result.row_num() == 0) { return status; } // step 3: convert result array - topk_query_result.reserve(result.row_num()); - int64_t nq = result.row_num(); - int64_t topk = result.ids().size() / nq; - for (int64_t i = 0; i < result.row_num(); i++) { - milvus::QueryResult one_result; - one_result.ids.resize(topk); - one_result.distances.resize(topk); - memcpy(one_result.ids.data(), result.ids().data() + topk * i, topk * sizeof(int64_t)); - memcpy(one_result.distances.data(), result.distances().data() + topk * i, topk * sizeof(float)); - topk_query_result.emplace_back(one_result); + ConstructTopkResult(grpc_result, topk_query_result); + + return status; + } catch (std::exception& ex) { + return Status(StatusCode::UnknownError, "Failed to search entities: " + std::string(ex.what())); + } +} + +Status +ClientProxy::SearchByID(const std::string& collection_name, const PartitionTagList& partition_tag_array, + const std::vector& id_array, int64_t topk, + const std::string& extra_params, TopKQueryResult& topk_query_result) { + try { + // step 1: convert vectors data + ::milvus::grpc::SearchByIDParam search_param; + ConstructSearchParam(collection_name, + partition_tag_array, + topk, + extra_params, + search_param); + + for (auto& id : id_array) { + search_param.add_id_array(id); } + // step 2: search vectors + ::milvus::grpc::TopKQueryResult grpc_result; + Status status = client_ptr_->SearchByID(search_param, grpc_result); + if (grpc_result.row_num() == 0) { + return status; + } + + // step 3: convert result array + ConstructTopkResult(grpc_result, topk_query_result); + return status; } catch (std::exception& ex) { return Status(StatusCode::UnknownError, "Failed to search entities: " + std::string(ex.what())); @@ -412,7 +467,7 @@ ClientProxy::ShowCollections(std::vector& collection_array) { } Status -ClientProxy::ShowCollectionInfo(const std::string& collection_name, CollectionInfo& collection_info) { +ClientProxy::ShowCollectionInfo(const std::string& collection_name, std::string& collection_info) { try { Status status; ::milvus::grpc::CollectionName grpc_collection_name; @@ -420,16 +475,7 @@ ClientProxy::ShowCollectionInfo(const std::string& collection_name, CollectionIn milvus::grpc::CollectionInfo grpc_collection_info; status = client_ptr_->ShowCollectionInfo(grpc_collection_name, grpc_collection_info); - // get native info - collection_info.total_row_count = grpc_collection_info.total_row_count(); - - // get partitions info - for (int i = 0; i < grpc_collection_info.partitions_stat_size(); i++) { - auto& grpc_partition_stat = grpc_collection_info.partitions_stat(i); - PartitionStat partition_stat; - ConstructPartitionStat(grpc_partition_stat, partition_stat); - collection_info.partitions_stat.emplace_back(partition_stat); - } + collection_info = grpc_collection_info.json_info(); return status; } catch (std::exception& ex) { @@ -438,7 +484,7 @@ ClientProxy::ShowCollectionInfo(const std::string& collection_name, CollectionIn } Status -ClientProxy::DeleteByID(const std::string& collection_name, const std::vector& id_array) { +ClientProxy::DeleteByID(const std::string& collection_name, const std::vector& id_array) { try { ::milvus::grpc::DeleteByIDParam delete_by_id_param; delete_by_id_param.set_collection_name(collection_name); @@ -602,7 +648,6 @@ ClientProxy::CreateHybridCollection(const HMapping& mapping) { } catch (std::exception& exception) { return Status(StatusCode::UnknownError, "Failed to create collection: " + std::string(exception.what())); } - } void @@ -620,9 +665,9 @@ CopyVectorField(::milvus::grpc::RowRecord* target, const Entity& src) { Status ClientProxy::InsertEntity(const std::string& collection_name, - const std::string& partition_tag, - HEntity& entities, - std::vector& id_array) { + const std::string& partition_tag, + HEntity& entities, + std::vector& id_array) { Status status; try { ::milvus::grpc::HInsertParam grpc_param; diff --git a/sdk/grpc/ClientProxy.h b/sdk/grpc/ClientProxy.h index 285e1c8ded..70b838b16c 100644 --- a/sdk/grpc/ClientProxy.h +++ b/sdk/grpc/ClientProxy.h @@ -71,6 +71,11 @@ class ClientProxy : public Connection { Status GetEntityByID(const std::string& collection_name, int64_t entity_id, Entity& entity_data) override; + Status + GetEntitiesByID(const std::string& collection_name, + const std::vector& id_array, + std::vector& entities_data) override; + Status GetIDsInSegment(const std::string& collection_name, const std::string& segment_name, std::vector& id_array) override; @@ -80,6 +85,11 @@ class ClientProxy : public Connection { const std::vector& entity_array, int64_t topk, const std::string& extra_params, TopKQueryResult& topk_query_result) override; + Status + SearchByID(const std::string& collection_name, const PartitionTagList& partition_tag_array, + const std::vector& id_array, int64_t topk, + const std::string& extra_params, TopKQueryResult& topk_query_result) override; + Status DescribeCollection(const std::string& collection_name, CollectionParam& collection_schema) override; @@ -90,7 +100,7 @@ class ClientProxy : public Connection { ShowCollections(std::vector& collection_array) override; Status - ShowCollectionInfo(const std::string& collection_name, CollectionInfo& collection_info) override; + ShowCollectionInfo(const std::string& collection_name, std::string& collection_info) override; Status DeleteByID(const std::string& collection_name, const std::vector& id_array) override; diff --git a/sdk/grpc/GrpcClient.cpp b/sdk/grpc/GrpcClient.cpp index df4faa2d17..a4b087da9e 100644 --- a/sdk/grpc/GrpcClient.cpp +++ b/sdk/grpc/GrpcClient.cpp @@ -125,17 +125,17 @@ GrpcClient::Insert(const ::milvus::grpc::InsertParam& insert_param, ::milvus::gr } Status -GrpcClient::GetVectorByID(const grpc::VectorIdentity& vector_identity, ::milvus::grpc::VectorData& vector_data) { +GrpcClient::GetVectorsByID(const grpc::VectorsIdentity& vectors_identity, ::milvus::grpc::VectorsData& vectors_data) { ClientContext context; - ::grpc::Status grpc_status = stub_->GetVectorByID(&context, vector_identity, &vector_data); + ::grpc::Status grpc_status = stub_->GetVectorsByID(&context, vectors_identity, &vectors_data); if (!grpc_status.ok()) { std::cerr << "GetVectorByID rpc failed!" << std::endl; return Status(StatusCode::RPCFailed, grpc_status.error_message()); } - if (vector_data.status().error_code() != grpc::SUCCESS) { - std::cerr << vector_data.status().reason() << std::endl; - return Status(StatusCode::ServerFailed, vector_data.status().reason()); + if (vectors_data.status().error_code() != grpc::SUCCESS) { + std::cerr << vectors_data.status().reason() << std::endl; + return Status(StatusCode::ServerFailed, vectors_data.status().reason()); } return Status::OK(); @@ -159,8 +159,8 @@ GrpcClient::GetIDsInSegment(const grpc::GetVectorIDsParam& param, grpc::VectorId } Status -GrpcClient::Search( - const ::milvus::grpc::SearchParam& search_param, ::milvus::grpc::TopKQueryResult& topk_query_result) { +GrpcClient::Search(const ::milvus::grpc::SearchParam& search_param, + ::milvus::grpc::TopKQueryResult& topk_query_result) { ::milvus::grpc::TopKQueryResult query_result; ClientContext context; ::grpc::Status grpc_status = stub_->Search(&context, search_param, &topk_query_result); @@ -178,6 +178,25 @@ GrpcClient::Search( return Status::OK(); } +Status +GrpcClient::SearchByID(const grpc::SearchByIDParam& search_param, ::milvus::grpc::TopKQueryResult& topk_query_result) { + ::milvus::grpc::TopKQueryResult query_result; + ClientContext context; + ::grpc::Status grpc_status = stub_->SearchByID(&context, search_param, &topk_query_result); + + if (!grpc_status.ok()) { + std::cerr << "SearchByID rpc failed!" << std::endl; + std::cerr << grpc_status.error_message() << std::endl; + return Status(StatusCode::RPCFailed, grpc_status.error_message()); + } + if (topk_query_result.status().error_code() != grpc::SUCCESS) { + std::cerr << topk_query_result.status().reason() << std::endl; + return Status(StatusCode::ServerFailed, topk_query_result.status().reason()); + } + + return Status::OK(); +} + Status GrpcClient::DescribeCollection(const std::string& collection_name, ::milvus::grpc::CollectionSchema& grpc_schema) { ClientContext context; diff --git a/sdk/grpc/GrpcClient.h b/sdk/grpc/GrpcClient.h index 3e68e32a24..aa259674b2 100644 --- a/sdk/grpc/GrpcClient.h +++ b/sdk/grpc/GrpcClient.h @@ -51,7 +51,7 @@ class GrpcClient { Insert(const grpc::InsertParam& insert_param, grpc::VectorIds& vector_ids); Status - GetVectorByID(const grpc::VectorIdentity& vector_identity, ::milvus::grpc::VectorData& vector_data); + GetVectorsByID(const grpc::VectorsIdentity& vectors_identity, ::milvus::grpc::VectorsData& vectors_data); Status GetIDsInSegment(const grpc::GetVectorIDsParam& param, grpc::VectorIds& vector_ids); @@ -59,6 +59,9 @@ class GrpcClient { Status Search(const grpc::SearchParam& search_param, ::milvus::grpc::TopKQueryResult& topk_query_result); + Status + SearchByID(const grpc::SearchByIDParam& search_param, ::milvus::grpc::TopKQueryResult& topk_query_result); + Status DescribeCollection(const std::string& collection_name, grpc::CollectionSchema& grpc_schema); diff --git a/sdk/include/BooleanQuery.h b/sdk/include/BooleanQuery.h index a834a3ef56..9b844d6226 100644 --- a/sdk/include/BooleanQuery.h +++ b/sdk/include/BooleanQuery.h @@ -31,7 +31,7 @@ class BooleanQuery { public: BooleanQuery() {} - BooleanQuery(Occur occur) : occur_(occur) {} + explicit BooleanQuery(Occur occur) : occur_(occur) {} void AddLeafQuery(LeafQueryPtr leaf_query) { @@ -65,4 +65,4 @@ class BooleanQuery { }; using BooleanQueryPtr = std::shared_ptr; -} \ No newline at end of file +} // namespace milvus diff --git a/sdk/include/Field.h b/sdk/include/Field.h index c218161127..aaa62e596a 100644 --- a/sdk/include/Field.h +++ b/sdk/include/Field.h @@ -61,4 +61,4 @@ struct VectorField : Field { }; using VectorFieldPtr = std::shared_ptr; -} \ No newline at end of file +} // namespace milvus diff --git a/sdk/include/GeneralQuery.h b/sdk/include/GeneralQuery.h index ffdf9b0c39..63e50f7a4d 100644 --- a/sdk/include/GeneralQuery.h +++ b/sdk/include/GeneralQuery.h @@ -93,4 +93,4 @@ struct LeafQuery { }; using LeafQueryPtr = std::shared_ptr; -} \ No newline at end of file +} // namespace milvus diff --git a/sdk/include/MilvusApi.h b/sdk/include/MilvusApi.h index 9de3895bc9..118693827e 100644 --- a/sdk/include/MilvusApi.h +++ b/sdk/include/MilvusApi.h @@ -112,34 +112,6 @@ struct PartitionParam { using PartitionTagList = std::vector; -/** - * @brief segment statistics - */ -struct SegmentStat { - std::string segment_name; ///< Segment name - int64_t row_count; ///< Segment row count - std::string index_name; ///< Segment index name - int64_t data_size; ///< Segment data size -}; - -/** - * @brief partition statistics - */ -struct PartitionStat { - std::string tag; ///< Partition tag - int64_t row_count; ///< Partition row count - std::vector segments_stat; ///< Partition's segments statistics -}; - -/** - * @brief collection info - */ -struct CollectionInfo { - int64_t total_row_count; ///< Collection total entity count - std::vector partitions_stat; ///< Collection's partitions statistics -}; - - struct HMapping { std::string collection_name; @@ -153,7 +125,6 @@ struct HEntity { std::unordered_map> vector_value; }; - /** * @brief SDK main class */ @@ -370,6 +341,23 @@ class Connection { virtual Status GetEntityByID(const std::string& collection_name, int64_t entity_id, Entity& entity_data) = 0; + /** + * @brief Get entity data by id + * + * This method is used to get entities data by id array from a collection. + * Return the first found entity if there are entities with duplicated id + * + * @param collection_name, target collection's name. + * @param id_array, target entities id array. + * @param entities_data, returned entities data. + * + * @return Indicate if the operation is succeed. + */ + virtual Status + GetEntitiesByID(const std::string& collection_name, + const std::vector& id_array, + std::vector& entities_data) = 0; + /** * @brief Get entity ids from a segment * @@ -414,6 +402,33 @@ class Connection { const std::vector& entity_array, int64_t topk, const std::string& extra_params, TopKQueryResult& topk_query_result) = 0; + /** + * @brief Search entities in a collection by id + * + * This method is used to query entity in collection by id. + * + * @param collection_name, target collection's name. + * @param partition_tag_array, target partitions, keep empty if no partition specified. + * @param id_array, vectors id array to be queried. + * @param topk, how many similarity entities will be returned. + * @param extra_params, extra search parameters according to different index type, must be json format. + * Note: extra_params is extra parameters list, it must be json format, for example: + * For different index type, parameter list is different accordingly + * FLAT/IVFLAT/SQ8/IVFPQ: {nprobe: 32} + * ///< nprobe range:[1,999999] + * NSG: {search_length:100} + * ///< search_length range:[10, 300] + * HNSW {ef: 64} + * ///< ef range:[topk, 4096] + * @param topk_query_result, result array. + * + * @return Indicate if query is successful. + */ + virtual Status + SearchByID(const std::string& collection_name, const PartitionTagList& partition_tag_array, + const std::vector& id_array, int64_t topk, + const std::string& extra_params, TopKQueryResult& topk_query_result) = 0; + /** * @brief Show collection description * @@ -458,12 +473,12 @@ class Connection { * This method is used to get detail information of a collection. * * @param collection_name, target collection's name. - * @param collection_info, target collection's information + * @param collection_info, target collection's information in json format * * @return Indicate if this operation is successful. */ virtual Status - ShowCollectionInfo(const std::string& collection_name, CollectionInfo& collection_info) = 0; + ShowCollectionInfo(const std::string& collection_name, std::string& collection_info) = 0; /** * @brief Delete entity by id diff --git a/sdk/interface/ConnectionImpl.cpp b/sdk/interface/ConnectionImpl.cpp index a471022531..1e4c7fb334 100644 --- a/sdk/interface/ConnectionImpl.cpp +++ b/sdk/interface/ConnectionImpl.cpp @@ -107,6 +107,13 @@ ConnectionImpl::GetEntityByID(const std::string& collection_name, int64_t entity return client_proxy_->GetEntityByID(collection_name, entity_id, entity_data); } +Status +ConnectionImpl::GetEntitiesByID(const std::string& collection_name, + const std::vector& id_array, + std::vector& entities_data) { + return client_proxy_->GetEntitiesByID(collection_name, id_array, entities_data); +} + Status ConnectionImpl::GetIDsInSegment(const std::string& collection_name, const std::string& segment_name, std::vector& id_array) { @@ -114,10 +121,27 @@ ConnectionImpl::GetIDsInSegment(const std::string& collection_name, const std::s } Status -ConnectionImpl::Search(const std::string& collection_name, const std::vector& partition_tags, +ConnectionImpl::Search(const std::string& collection_name, const PartitionTagList& partition_tag_array, const std::vector& entity_array, int64_t topk, const std::string& extra_params, TopKQueryResult& topk_query_result) { - return client_proxy_->Search(collection_name, partition_tags, entity_array, topk, extra_params, topk_query_result); + return client_proxy_->Search(collection_name, + partition_tag_array, + entity_array, + topk, + extra_params, + topk_query_result); +} + +Status +ConnectionImpl::SearchByID(const std::string& collection_name, const PartitionTagList& partition_tag_array, + const std::vector& id_array, int64_t topk, + const std::string& extra_params, TopKQueryResult& topk_query_result) { + return client_proxy_->SearchByID(collection_name, + partition_tag_array, + id_array, + topk, + extra_params, + topk_query_result); } Status @@ -136,7 +160,7 @@ ConnectionImpl::ShowCollections(std::vector& collection_array) { } Status -ConnectionImpl::ShowCollectionInfo(const std::string& collection_name, CollectionInfo& collection_info) { +ConnectionImpl::ShowCollectionInfo(const std::string& collection_name, std::string& collection_info) { return client_proxy_->ShowCollectionInfo(collection_name, collection_info); } diff --git a/sdk/interface/ConnectionImpl.h b/sdk/interface/ConnectionImpl.h index f843664091..a1b1351c9c 100644 --- a/sdk/interface/ConnectionImpl.h +++ b/sdk/interface/ConnectionImpl.h @@ -73,15 +73,25 @@ class ConnectionImpl : public Connection { Status GetEntityByID(const std::string& collection_name, int64_t entity_id, Entity& entity_data) override; + Status + GetEntitiesByID(const std::string& collection_name, + const std::vector& id_array, + std::vector& entities_data) override; + Status GetIDsInSegment(const std::string& collection_name, const std::string& segment_name, std::vector& id_array) override; Status - Search(const std::string& collection_name, const std::vector& partition_tag_array, + Search(const std::string& collection_name, const PartitionTagList& partition_tag_array, const std::vector& entity_array, int64_t topk, const std::string& extra_params, TopKQueryResult& topk_query_result) override; + Status + SearchByID(const std::string& collection_name, const PartitionTagList& partition_tag_array, + const std::vector& id_array, int64_t topk, + const std::string& extra_params, TopKQueryResult& topk_query_result) override; + Status DescribeCollection(const std::string& collection_name, CollectionParam& collection_schema) override; @@ -92,7 +102,7 @@ class ConnectionImpl : public Connection { ShowCollections(std::vector& collection_array) override; Status - ShowCollectionInfo(const std::string& collection_name, CollectionInfo& collection_info) override; + ShowCollectionInfo(const std::string& collection_name, std::string& collection_info) override; Status DeleteByID(const std::string& collection_name, const std::vector& id_array) override; @@ -127,13 +137,13 @@ class ConnectionImpl : public Connection { /*******************************New Interface**********************************/ Status - CreateHybridCollection(const HMapping& mapping) override ; + CreateHybridCollection(const HMapping& mapping) override; Status InsertEntity(const std::string& collection_name, const std::string& partition_tag, HEntity& entities, - std::vector& id_array) override ; + std::vector& id_array) override; Status HybridSearch(const std::string& collection_name, diff --git a/tests/milvus_python_test/test_collection_info.py b/tests/milvus_python_test/test_collection_info.py index c0574d1827..0c053c8cc9 100644 --- a/tests/milvus_python_test/test_collection_info.py +++ b/tests/milvus_python_test/test_collection_info.py @@ -41,8 +41,8 @@ class TestCollectionInfoBase: expected: status not ok ''' collection_name = None - status, info = connect.collection_info(collection_name) - assert not status.OK() + with pytest.raises(Exception) as e: + status, info = connect.collection_info(collection_name) @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_name_not_existed(self, connect, collection): @@ -87,7 +87,7 @@ class TestCollectionInfoBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - assert info.count == nb + assert info["row_count"] == nb # delete a few vectors delete_ids = [ids[0], ids[-1]] status = connect.delete_by_id(collection, delete_ids) @@ -96,7 +96,7 @@ class TestCollectionInfoBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - assert info.count == nb - 2 + assert info["row_count"] == nb - 2 @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_partition_stats_A(self, connect, collection): @@ -113,9 +113,9 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - assert len(info.partitions_stat) == 1 - assert info.partitions_stat[0].tag == "_default" - assert info.partitions_stat[0].count == nb + assert len(info["partitions"]) == 1 + assert info["partitions"][0]["tag"] == "_default" + assert info["partitions"][0]["row_count"] == nb @pytest.mark.timeout(INFO_TIMEOUT) @@ -134,9 +134,9 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - assert len(info.partitions_stat) == 2 - assert info.partitions_stat[1].tag == tag - assert info.partitions_stat[1].count == nb + assert len(info["partitions"]) == 2 + assert info["partitions"][1]["tag"] == tag + assert info["partitions"][1]["row_count"] == nb @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_partition_stats_C(self, connect, collection): @@ -158,11 +158,11 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - for partition in info.partitions_stat: - if partition.tag == tag: - assert partition.count == nb + for partition in info["partitions"]: + if partition["tag"] == tag: + assert partition["row_count"] == nb else: - assert partition.count == 0 + assert partition["row_count"] == 0 @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_partition_stats_D(self, connect, collection): @@ -185,12 +185,12 @@ class TestCollectionInfoBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - assert info.count == nb * 2 - for partition in info.partitions_stat: - if partition.tag == tag: - assert partition.count == nb - elif partition.tag == new_tag: - assert partition.count == nb + assert info["row_count"] == nb * 2 + for partition in info["partitions"]: + if partition["tag"] == tag: + assert partition["row_count"] == nb + elif partition["tag"] == new_tag: + assert partition["row_count"] == nb @pytest.fixture( scope="function", @@ -209,7 +209,7 @@ class TestCollectionInfoBase: ''' target: test collection info after index created method: create collection, add vectors, create index and call collection_info - expected: status ok, index created and shown in segments_stat + expected: status ok, index created and shown in segments ''' index_param = get_simple_index["index_param"] index_type = get_simple_index["index_type"] @@ -225,17 +225,17 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - index_string = info.partitions_stat[0].segments_stat[0].index_name + index_string = info["partitions"][0]["segments"][0]["index_name"] match = self.index_string_convert(index_string, index_type) assert match - assert nb == info.partitions_stat[0].segments_stat[0].count + assert nb == info["partitions"][0]["segments"][0]["row_count"] @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_after_create_same_index_repeatedly(self, connect, collection, get_simple_index): ''' target: test collection info after index created repeatedly method: create collection, add vectors, create index and call collection_info multiple times - expected: status ok, index info shown in segments_stat + expected: status ok, index info shown in segments ''' index_param = get_simple_index["index_param"] index_type = get_simple_index["index_type"] @@ -251,17 +251,17 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - index_string = info.partitions_stat[0].segments_stat[0].index_name + index_string = info["partitions"][0]["segments"][0]["index_name"] match = self.index_string_convert(index_string, index_type) assert match - assert nb == info.partitions_stat[0].segments_stat[0].count + assert nb == info["partitions"][0]["segments"][0]["row_count"] @pytest.mark.timeout(INFO_TIMEOUT) def test_get_collection_info_after_create_different_index_repeatedly(self, connect, collection, get_simple_index): ''' target: test collection info after index created repeatedly method: create collection, add vectors, create index and call collection_info multiple times - expected: status ok, index info shown in segments_stat + expected: status ok, index info shown in segments ''' vectors = gen_vector(nb, dim) status, ids = connect.add_vectors(collection, vectors) @@ -275,7 +275,7 @@ class TestCollectionInfoBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - index_string = info.partitions_stat[0].segments_stat[0].index_name + index_string = info["partitions"][0]["segments"][0]["index_name"] match = self.index_string_convert(index_string, index_type) assert match - assert nb == info.partitions_stat[0].segments_stat[0].count + assert nb == info["partitions"][0]["segments"][0]["row_count"] diff --git a/tests/milvus_python_test/test_compact.py b/tests/milvus_python_test/test_compact.py index baec3edcf1..fa9ac3d25f 100644 --- a/tests/milvus_python_test/test_compact.py +++ b/tests/milvus_python_test/test_compact.py @@ -78,13 +78,13 @@ class TestCompactBase: status, info = connect.collection_info(collection) assert status.OK() logging.getLogger().info(info) - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -102,13 +102,13 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -131,16 +131,16 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_before = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_before = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_before) status = connect.compact(collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_after = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_after = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_after) assert(size_before > size_after) @@ -168,8 +168,8 @@ class TestCompactBase: # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - assert(len(info.partitions_stat[0].segments_stat) == 0) + logging.getLogger().info(info["partitions"]) + assert not info["partitions"][0]["segments"] @pytest.fixture( scope="function", @@ -204,8 +204,8 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size - logging.getLogger().info(info.partitions_stat) + size_before = info["partitions"][0]["segments"][0]["data_size"] + logging.getLogger().info(info["partitions"]) delete_ids = [ids[0], ids[-1]] status = connect.delete_by_id(collection, delete_ids) assert status.OK() @@ -216,8 +216,8 @@ class TestCompactBase: # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_after = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before > size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -235,7 +235,7 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(collection) assert status.OK() status = connect.flush([collection]) @@ -243,14 +243,14 @@ class TestCompactBase: # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) status = connect.compact(collection) assert status.OK() # get collection info after compact twice status, info = connect.collection_info(collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -273,20 +273,20 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before > size_after) status = connect.compact(collection) assert status.OK() # get collection info after compact twice status, info = connect.collection_info(collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -330,13 +330,13 @@ class TestCompactBase: # get collection info before compact status, info = connect.collection_info(collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) vector = gen_single_vector(dim) status, ids = connect.add_vectors(collection, vector) @@ -433,7 +433,7 @@ class TestCompactBase: # get collection info after compact status, info = connect.collection_info(collection) assert status.OK() - assert info.partitions_stat[0].count == nb * 100 - 1000 + assert info["partitions"][0].count == nb * 100 - 1000 class TestCompactJAC: @@ -457,13 +457,13 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -481,13 +481,13 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -510,16 +510,16 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_before = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_before = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_before) status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_after = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_after = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_after) assert(size_before > size_after) @@ -547,8 +547,8 @@ class TestCompactJAC: # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - assert(len(info.partitions_stat[0].segments_stat) == 0) + logging.getLogger().info(info["partitions"]) + assert not info["partitions"][0]["segments"] @pytest.mark.timeout(COMPACT_TIMEOUT) def test_add_vector_and_compact_twice(self, connect, jac_collection): @@ -565,20 +565,20 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) status = connect.compact(jac_collection) assert status.OK() # get collection info after compact twice status, info = connect.collection_info(jac_collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -601,20 +601,20 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before > size_after) status = connect.compact(jac_collection) assert status.OK() # get collection info after compact twice status, info = connect.collection_info(jac_collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -662,13 +662,13 @@ class TestCompactJAC: # get collection info before compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(jac_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(jac_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) tmp, vector = gen_binary_vectors(1, dim) status, ids = connect.add_vectors(jac_collection, vector) @@ -736,7 +736,7 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(ip_collection) assert status.OK() status = connect.flush([ip_collection]) @@ -744,7 +744,7 @@ class TestCompactIP: # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -762,13 +762,13 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(ip_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -791,16 +791,16 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_before = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_before = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_before) status = connect.compact(ip_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - size_after = info.partitions_stat[0].segments_stat[0].data_size + logging.getLogger().info(info["partitions"]) + size_after = info["partitions"][0]["segments"][0]["data_size"] logging.getLogger().info(size_after) assert(size_before > size_after) @@ -828,8 +828,8 @@ class TestCompactIP: # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - logging.getLogger().info(info.partitions_stat) - assert(len(info.partitions_stat[0].segments_stat) == 0) + logging.getLogger().info(info["partitions"]) + assert not info["partitions"][0]["segments"] @pytest.mark.timeout(COMPACT_TIMEOUT) def test_add_vector_and_compact_twice(self, connect, ip_collection): @@ -846,20 +846,20 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(ip_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) status = connect.compact(ip_collection) assert status.OK() # get collection info after compact twice status, info = connect.collection_info(ip_collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -882,7 +882,7 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(ip_collection) assert status.OK() status = connect.flush([ip_collection]) @@ -890,7 +890,7 @@ class TestCompactIP: # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before > size_after) status = connect.compact(ip_collection) assert status.OK() @@ -899,7 +899,7 @@ class TestCompactIP: # get collection info after compact twice status, info = connect.collection_info(ip_collection) assert status.OK() - size_after_twice = info.partitions_stat[0].segments_stat[0].data_size + size_after_twice = info["partitions"][0]["segments"][0]["data_size"] assert(size_after == size_after_twice) @pytest.mark.timeout(COMPACT_TIMEOUT) @@ -943,13 +943,13 @@ class TestCompactIP: # get collection info before compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_before = info.partitions_stat[0].segments_stat[0].data_size + size_before = info["partitions"][0]["segments"][0]["data_size"] status = connect.compact(ip_collection) assert status.OK() # get collection info after compact status, info = connect.collection_info(ip_collection) assert status.OK() - size_after = info.partitions_stat[0].segments_stat[0].data_size + size_after = info["partitions"][0]["segments"][0]["data_size"] assert(size_before == size_after) vector = gen_single_vector(dim) status, ids = connect.add_vectors(ip_collection, vector) diff --git a/tests/milvus_python_test/test_get_vector_ids.py b/tests/milvus_python_test/test_get_vector_ids.py index b1baee44ab..14912a64de 100644 --- a/tests/milvus_python_test/test_get_vector_ids.py +++ b/tests/milvus_python_test/test_get_vector_ids.py @@ -19,7 +19,7 @@ nb = 6000 class TestGetVectorIdsBase: - def get_valid_segment_name(self, connect, collection): + def get_valid_name(self, connect, collection): vectors = gen_vector(nb, dim) status, ids = connect.add_vectors(collection, vectors) assert status.OK() @@ -27,8 +27,7 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - logging.getLogger().info(info.partitions_stat[0].segments_stat[0].segment_name) - return info.partitions_stat[0].segments_stat[0].segment_name + return info["partitions"][0]["segments"][0]["name"] """ ****************************************************************** @@ -43,9 +42,9 @@ class TestGetVectorIdsBase: expected: exception raised ''' collection_name = None - segment_name = self.get_valid_segment_name(connect, collection) + name = self.get_valid_name(connect, collection) with pytest.raises(Exception) as e: - status, vector_ids = connect.get_vector_ids(collection_name, segment_name) + status, vector_ids = connect.get_vector_ids(collection_name, name) @pytest.mark.timeout(GET_TIMEOUT) def test_get_vector_ids_collection_name_not_existed(self, connect, collection): @@ -55,8 +54,8 @@ class TestGetVectorIdsBase: expected: status not ok ''' collection_name = gen_unique_str("not_existed_collection") - segment_name = self.get_valid_segment_name(connect, collection) - status, vector_ids = connect.get_vector_ids(collection_name, segment_name) + name = self.get_valid_name(connect, collection) + status, vector_ids = connect.get_vector_ids(collection_name, name) assert not status.OK() @pytest.fixture( @@ -74,30 +73,30 @@ class TestGetVectorIdsBase: expected: status not ok ''' collection_name = get_collection_name - segment_name = self.get_valid_segment_name(connect, collection) - status, vector_ids = connect.get_vector_ids(collection_name, segment_name) + name = self.get_valid_name(connect, collection) + status, vector_ids = connect.get_vector_ids(collection_name, name) assert not status.OK() @pytest.mark.timeout(GET_TIMEOUT) - def test_get_vector_ids_segment_name_None(self, connect, collection): + def test_get_vector_ids_name_None(self, connect, collection): ''' target: get vector ids where segment name is None - method: call get_vector_ids with the segment_name: None + method: call get_vector_ids with the name: None expected: exception raised ''' - valid_segment_name = self.get_valid_segment_name(connect, collection) + valid_name = self.get_valid_name(connect, collection) segment = None with pytest.raises(Exception) as e: status, vector_ids = connect.get_vector_ids(collection, segment) @pytest.mark.timeout(GET_TIMEOUT) - def test_get_vector_ids_segment_name_not_existed(self, connect, collection): + def test_get_vector_ids_name_not_existed(self, connect, collection): ''' target: get vector ids where segment name does not exist method: call get_vector_ids with a random segment name expected: status not ok ''' - valid_segment_name = self.get_valid_segment_name(connect, collection) + valid_name = self.get_valid_name(connect, collection) segment = gen_unique_str("not_existed_segment") status, vector_ids = connect.get_vector_ids(collection, segment) logging.getLogger().info(vector_ids) @@ -117,7 +116,7 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -140,8 +139,8 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -177,7 +176,7 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -203,8 +202,8 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -226,7 +225,7 @@ class TestGetVectorIdsBase: assert status.OK() status, info = connect.collection_info(collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(collection, info["partitions"][0]["segments"][0]["name"]) assert len(vector_ids) == 1 assert vector_ids[0] == ids[1] @@ -251,7 +250,7 @@ class TestGetVectorIdsIP: assert status.OK() status, info = connect.collection_info(ip_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(ip_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(ip_collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -274,8 +273,8 @@ class TestGetVectorIdsIP: assert status.OK() status, info = connect.collection_info(ip_collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(ip_collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(ip_collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -311,7 +310,7 @@ class TestGetVectorIdsIP: assert status.OK() status, info = connect.collection_info(ip_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(ip_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(ip_collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -337,8 +336,8 @@ class TestGetVectorIdsIP: assert status.OK() status, info = connect.collection_info(ip_collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(ip_collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(ip_collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -360,7 +359,7 @@ class TestGetVectorIdsIP: assert status.OK() status, info = connect.collection_info(ip_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(ip_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(ip_collection, info["partitions"][0]["segments"][0]["name"]) assert len(vector_ids) == 1 assert vector_ids[0] == ids[1] @@ -385,13 +384,12 @@ class TestGetVectorIdsJAC: assert status.OK() status, info = connect.collection_info(jac_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(jac_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(jac_collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): assert vector_ids[i] == ids[i] - @pytest.mark.timeout(GET_TIMEOUT) def test_get_vector_ids_without_index_B(self, connect, jac_collection): ''' @@ -408,8 +406,8 @@ class TestGetVectorIdsJAC: assert status.OK() status, info = connect.collection_info(jac_collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(jac_collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(jac_collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -444,7 +442,7 @@ class TestGetVectorIdsJAC: assert status.OK() status, info = connect.collection_info(jac_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(jac_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(jac_collection, info["partitions"][0]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -470,8 +468,8 @@ class TestGetVectorIdsJAC: assert status.OK() status, info = connect.collection_info(jac_collection) assert status.OK() - assert info.partitions_stat[1].tag == tag - status, vector_ids = connect.get_vector_ids(jac_collection, info.partitions_stat[1].segments_stat[0].segment_name) + assert info["partitions"][1]["tag"] == tag + status, vector_ids = connect.get_vector_ids(jac_collection, info["partitions"][1]["segments"][0]["name"]) # vector_ids should match ids assert len(vector_ids) == 10 for i in range(10): @@ -493,6 +491,6 @@ class TestGetVectorIdsJAC: assert status.OK() status, info = connect.collection_info(jac_collection) assert status.OK() - status, vector_ids = connect.get_vector_ids(jac_collection, info.partitions_stat[0].segments_stat[0].segment_name) + status, vector_ids = connect.get_vector_ids(jac_collection, info["partitions"][0]["segments"][0]["name"]) assert len(vector_ids) == 1 - assert vector_ids[0] == ids[1] \ No newline at end of file + assert vector_ids[0] == ids[1] diff --git a/tests/milvus_python_test/test_get_vector_by_id.py b/tests/milvus_python_test/test_get_vectors_by_ids.py similarity index 75% rename from tests/milvus_python_test/test_get_vector_by_id.py rename to tests/milvus_python_test/test_get_vectors_by_ids.py index d949807a92..0deeb32a54 100644 --- a/tests/milvus_python_test/test_get_vector_by_id.py +++ b/tests/milvus_python_test/test_get_vectors_by_ids.py @@ -11,7 +11,7 @@ from utils import * dim = 128 index_file_size = 10 -collection_id = "test_get_vector_by_id" +collection_id = "get_vectors_by_ids" DELETE_TIMEOUT = 60 nprobe = 1 tag = "1970-01-01" @@ -22,12 +22,12 @@ tag = "tag" class TestGetBase: """ ****************************************************************** - The following cases are used to test `get_vector_by_id` function + The following cases are used to test .get_vectors_by_ids` function ****************************************************************** """ def test_get_vector_A(self, connect, collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -36,13 +36,13 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[0]) + status, res = connect.get_vectors_by_ids(collection, ids) assert status.OK() - assert_equal_vector(res, vector[0]) + assert_equal_vector(res[0], vector[0]) def test_get_vector_B(self, connect, collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -51,13 +51,29 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[0]) + length = 100 + status, res = connect.get_vectors_by_ids(collection, ids[:length]) assert status.OK() - assert_equal_vector(res, vectors[0]) + for i in range(length): + assert_equal_vector(res[i], vectors[i]) + + def test_get_vector_C_limit(self, connect, collection): + ''' + target: test.get_vectors_by_ids + method: add vector, and get, limit > 1000 + expected: status ok, vector returned + ''' + vectors = gen_vectors(nb, dim) + status, ids = connect.add_vectors(collection, vectors) + assert status.OK() + status = connect.flush([collection]) + assert status.OK() + status, res = connect.get_vectors_by_ids(collection, ids) + assert not status.OK() def test_get_vector_partition(self, connect, collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -68,13 +84,15 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[0]) + length = 100 + status, res = connect.get_vectors_by_ids(collection, ids[:length]) assert status.OK() - assert_equal_vector(res, vectors[0]) + for i in range(length): + assert_equal_vector(res[i], vectors[i]) def test_get_vector_multi_same_ids(self, connect, collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vectors, with the same id, get vector by the given id expected: status ok, get one vector ''' @@ -84,9 +102,9 @@ class TestGetBase: status, ids = connect.add_vectors(collection, vectors, ids=ids) status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, 0) + status, res = connect.get_vectors_by_ids(collection, [0]) assert status.OK() - assert_equal_vector(res, vectors[0]) + assert_equal_vector(res[0], vectors[0]) @pytest.fixture( scope="function", @@ -103,7 +121,7 @@ class TestGetBase: def test_get_vector_after_delete(self, connect, collection, get_id): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vectors, and delete, get vector by the given id expected: status ok, get one vector ''' @@ -117,13 +135,13 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[id]) + status, res = connect.get_vectors_by_ids(collection, [ids[id]]) assert status.OK() - assert not res + assert not len(res[0]) def test_get_vector_after_delete_with_partition(self, connect, collection, get_id): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vectors into partition, and delete, get vector by the given id expected: status ok, get one vector ''' @@ -138,9 +156,9 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[id]) + status, res = connect.get_vectors_by_ids(collection, [ids[id]]) assert status.OK() - assert not res + assert not len(res[0]) def test_get_vector_id_not_exised(self, connect, collection): ''' @@ -153,9 +171,9 @@ class TestGetBase: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, 1) + status, res = connect.get_vectors_by_ids(collection, [1]) assert status.OK() - assert not res + assert not len(res[0]) def test_get_vector_collection_not_existed(self, connect, collection): ''' @@ -169,14 +187,14 @@ class TestGetBase: status = connect.flush([collection]) assert status.OK() collection_new = gen_unique_str() - status, res = connect.get_vector_by_id(collection_new, 1) + status, res = connect.get_vectors_by_ids(collection_new, [1]) assert not status.OK() class TestGetIndexedVectors: """ ****************************************************************** - The following cases are used to test `get_vector_by_id` function + The following cases are used to test .get_vectors_by_ids` function ****************************************************************** """ @pytest.fixture( @@ -184,12 +202,13 @@ class TestGetIndexedVectors: params=gen_simple_index() ) def get_simple_index(self, request, connect): - if str(connect._cmd("mode")[1]) == "CPU": - if request.param["index_type"] not in [IndexType.IVF_SQ8, IndexType.IVFLAT, IndexType.FLAT]: - logging.getLogger().info(request.param["index_type"]) - pytest.skip("Only support index_type: flat/ivf_flat/ivf_sq8") - else: - pytest.skip("Only support CPU mode") + if str(connect._cmd("mode")[1]) == "GPU": + if request.param["index_type"] not in [IndexType.IVF_SQ8, IndexType.IVFLAT, IndexType.FLAT, IndexType.IVF_PQ, IndexType.IVF_SQ8H]: + pytest.skip("Only support index_type: idmap/ivf") + elif str(connect._cmd("mode")[1]) == "CPU": + if request.param["index_type"] in [IndexType.IVF_SQ8H]: + pytest.skip("CPU not support index_type: ivf_sq8h") + return request.param @pytest.fixture( @@ -221,15 +240,15 @@ class TestGetIndexedVectors: status = connect.create_index(collection, index_type, index_param) assert status.OK() id = get_id - status, res = connect.get_vector_by_id(collection, ids[id]) + status, res = connect.get_vectors_by_ids(collection, [ids[id]]) assert status.OK() logging.getLogger().info(res) assert status.OK() - assert_equal_vector(res, vectors[id]) + assert_equal_vector(res[0], vectors[id]) def test_get_vector_after_delete(self, connect, collection, get_simple_index, get_id): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vectors, and delete, get vector by the given id expected: status ok, get one vector ''' @@ -247,13 +266,13 @@ class TestGetIndexedVectors: assert status.OK() status = connect.flush([collection]) assert status.OK() - status, res = connect.get_vector_by_id(collection, ids[id]) + status, res = connect.get_vectors_by_ids(collection, [ids[id]]) assert status.OK() - assert not res + assert not len(res[0]) def test_get_vector_partition(self, connect, collection, get_simple_index, get_id): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -269,20 +288,20 @@ class TestGetIndexedVectors: status = connect.create_index(collection, index_type, index_param) assert status.OK() id = get_id - status, res = connect.get_vector_by_id(collection, ids[id]) + status, res = connect.get_vectors_by_ids(collection, [ids[id]]) assert status.OK() - assert_equal_vector(res, vectors[id]) + assert_equal_vector(res[0], vectors[id]) class TestGetBinary: """ ****************************************************************** - The following cases are used to test `get_vector_by_id` function + The following cases are used to test .get_vectors_by_ids` function ****************************************************************** """ def test_get_vector_A(self, connect, jac_collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -291,13 +310,13 @@ class TestGetBinary: assert status.OK() status = connect.flush([jac_collection]) assert status.OK() - status, res = connect.get_vector_by_id(jac_collection, ids[0]) + status, res = connect.get_vectors_by_ids(jac_collection, [ids[0]]) assert status.OK() - assert res == vector[0] + assert_equal_vector(res[0], vector[0]) def test_get_vector_B(self, connect, jac_collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -306,13 +325,13 @@ class TestGetBinary: assert status.OK() status = connect.flush([jac_collection]) assert status.OK() - status, res = connect.get_vector_by_id(jac_collection, ids[0]) + status, res = connect.get_vectors_by_ids(jac_collection, [ids[0]]) assert status.OK() - assert res == vectors[0] + assert_equal_vector(res[0], vectors[0]) def test_get_vector_multi_same_ids(self, connect, jac_collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vectors, with the same id, get vector by the given id expected: status ok, get one vector ''' @@ -322,9 +341,9 @@ class TestGetBinary: status, ids = connect.add_vectors(jac_collection, vectors, ids=ids) status = connect.flush([jac_collection]) assert status.OK() - status, res = connect.get_vector_by_id(jac_collection, 0) + status, res = connect.get_vectors_by_ids(jac_collection, [0]) assert status.OK() - assert res == vectors[0] + assert_equal_vector(res[0], vectors[0]) def test_get_vector_id_not_exised(self, connect, jac_collection): ''' @@ -337,9 +356,9 @@ class TestGetBinary: assert status.OK() status = connect.flush([jac_collection]) assert status.OK() - status, res = connect.get_vector_by_id(jac_collection, 1) + status, res = connect.get_vectors_by_ids(jac_collection, [1]) assert status.OK() - assert not res + assert not len(res[0]) def test_get_vector_collection_not_existed(self, connect, jac_collection): ''' @@ -353,12 +372,12 @@ class TestGetBinary: status = connect.flush([jac_collection]) assert status.OK() collection_new = gen_unique_str() - status, res = connect.get_vector_by_id(collection_new, 1) + status, res = connect.get_vectors_by_ids(collection_new, [1]) assert not status.OK() def test_get_vector_partition(self, connect, jac_collection): ''' - target: test get_vector_by_id + target: test.get_vectors_by_ids method: add vector, and get expected: status ok, vector returned ''' @@ -368,9 +387,9 @@ class TestGetBinary: assert status.OK() status = connect.flush([jac_collection]) assert status.OK() - status, res = connect.get_vector_by_id(jac_collection, ids[0]) + status, res = connect.get_vectors_by_ids(jac_collection, [ids[0]]) assert status.OK() - assert res == vectors[0] + assert_equal_vector(res[0], vectors[0]) class TestGetVectorIdIngalid(object): @@ -390,7 +409,7 @@ class TestGetVectorIdIngalid(object): def test_get_vector_id_invalid(self, connect, collection, gen_invalid_id): invalid_id = gen_invalid_id with pytest.raises(Exception) as e: - status = connect.get_vector_by_id(collection, invalid_id) + status = connect.get_vectors_by_ids(collection, [invalid_id]) class TestCollectionNameInvalid(object): @@ -408,5 +427,5 @@ class TestCollectionNameInvalid(object): def test_get_vectors_with_invalid_collection_name(self, connect, get_collection_name): collection_name = get_collection_name vectors = gen_vectors(1, dim) - status, result = connect.get_vector_by_id(collection_name, 1) + status, result = connect.get_vectors_by_ids(collection_name, [1]) assert not status.OK() diff --git a/tests/milvus_python_test/test_search_by_id.py b/tests/milvus_python_test/test_search_by_id.py deleted file mode 100755 index 2b9b022627..0000000000 --- a/tests/milvus_python_test/test_search_by_id.py +++ /dev/null @@ -1,912 +0,0 @@ -# import pdb -# import copy -# import struct -# import pytest -# import threading -# import datetime -# import logging -# from time import sleep -# from multiprocessing import Process -# import numpy -# from milvus import Milvus, IndexType, MetricType -# from utils import * -# dim = 128 -# collection_id = "test_search" -# add_interval_time = 2 -# vectors = gen_vectors(6000, dim) -# # vectors /= numpy.linalg.norm(vectors) -# # vectors = vectors.tolist() -# nprobe = 1 -# epsilon = 0.001 -# tag = "overallpaper" -# top_k = 5 -# nprobe = 1 -# non_exist_id = 9527 -# small_size = 6000 -# raw_vectors, binary_vectors = gen_binary_vectors(6000, dim) - - -# class TestSearchBase: -# @pytest.fixture(scope="function", autouse=True) -# def skip_check(self, connect): -# if str(connect._cmd("mode")[1]) == "GPU": -# reason = "GPU mode not support" -# logging.getLogger().info(reason) -# pytest.skip(reason) - -# def init_data(self, connect, collection, nb=6000): -# ''' -# Generate vectors and add it in collection, before search vectors -# ''' -# global vectors -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors) -# sleep(add_interval_time) -# return add_vectors, ids - -# def init_data_binary(self, connect, collection, nb=6000): -# ''' -# Generate vectors and add it in collection, before search vectors -# ''' -# global binary_vectors -# if nb == 6000: -# add_vectors = binary_vectors -# else: -# add_vectors = gen_binary_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors) -# sleep(add_interval_time) -# return add_vectors, ids - -# def init_data_no_flush(self, connect, collection, nb=6000): -# global vectors -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors) -# # sleep(add_interval_time) -# return add_vectors, ids - -# def init_data_no_flush_ids(self, connect, collection, nb=6000): -# global vectors -# my_ids = [i for i in range(nb)] -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors, my_ids) -# # sleep(add_interval_time) -# return add_vectors, ids - -# def init_data_ids(self, connect, collection, nb=6000): -# global vectors -# my_ids = [i for i in range(nb)] -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors, my_ids) -# sleep(add_interval_time) -# return add_vectors, ids - -# def add_data(self, connect, collection, vectors): -# ''' -# Add specified vectors to collection -# ''' -# status, ids = connect.add_vectors(collection, vectors) -# # sleep(add_interval_time) -# sleep(10) -# return vectors, ids - -# def add_data_ids(self, connect, collection, vectors): -# my_ids = [i for i in range(len(vectors))] -# status, ids = connect.add_vectors(collection, vectors, my_ids) -# sleep(add_interval_time) -# return vectors, ids - -# def add_data_and_flush(self, connect, collection, vectors): - -# status, ids = connect.add_vectors(collection, vectors) -# connect.flush([collection]) -# return vectors, ids - -# def add_data_and_flush_ids(self, connect, collection, vectors): -# my_ids = [i for i in range(len(vectors))] -# status, ids = connect.add_vectors(collection, vectors, my_ids) -# connect.flush([collection]) -# return vectors, ids - -# def add_data_no_flush(self, connect, collection, vectors): -# ''' -# Add specified vectors to collection -# ''' -# status, ids = connect.add_vectors(collection, vectors) -# return vectors, ids - -# def add_data_no_flush_ids(self, connect, collection, vectors): -# my_ids = [i for i in range(len(vectors))] -# status, ids = connect.add_vectors(collection, vectors, my_ids) -# return vectors, ids - -# # delete data and auto flush - timeout due to the flush interval in config file -# def delete_data(self, connect, collection, ids): -# ''' -# delete vectors by id -# ''' -# status = connect.delete_by_id(collection, ids) -# sleep(add_interval_time) -# return status - -# # delete data and auto flush - timeout due to the flush interval in config file -# def delete_data_no_flush(self, connect, collection, ids): -# ''' -# delete vectors by id -# ''' -# status = connect.delete_by_id(collection, ids) -# return status - -# # delete data and manual flush -# def delete_data_and_flush(self, connect, collection, ids): -# ''' -# delete vectors by id -# ''' -# status = connect.delete_by_id(collection, ids) -# connect.flush([collection]) -# return status - -# def check_no_result(self, results): -# if len(results) == 0: -# return True -# flag = True -# for r in results: -# flag = flag and (r.id == -1) -# if not flag: -# return False -# return flag - -# def init_data_partition(self, connect, collection, partition_tag, nb=6000): -# ''' -# Generate vectors and add it in collection, before search vectors -# ''' -# global vectors -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# # add_vectors /= numpy.linalg.norm(add_vectors) -# # add_vectors = add_vectors.tolist() -# status, ids = connect.add_vectors(collection, add_vectors, partition_tag=partition_tag) -# sleep(add_interval_time) -# return add_vectors, ids - -# def init_data_and_flush(self, connect, collection, nb=6000): -# ''' -# Generate vectors and add it in collection, before search vectors -# ''' -# global vectors -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# # add_vectors /= numpy.linalg.norm(add_vectors) -# # add_vectors = add_vectors.tolist() -# status, ids = connect.add_vectors(collection, add_vectors) -# connect.flush([collection]) -# return add_vectors, ids - -# def init_data_and_flush_ids(self, connect, collection, nb=6000): -# global vectors -# my_ids = [i for i in range(nb)] -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# status, ids = connect.add_vectors(collection, add_vectors, my_ids) -# connect.flush([collection]) -# return add_vectors, ids - -# def init_data_partition_and_flush(self, connect, collection, partition_tag, nb=6000): -# ''' -# Generate vectors and add it in collection, before search vectors -# ''' -# global vectors -# if nb == 6000: -# add_vectors = vectors -# else: -# add_vectors = gen_vectors(nb, dim) -# # add_vectors /= numpy.linalg.norm(add_vectors) -# # add_vectors = add_vectors.tolist() -# status, ids = connect.add_vectors(collection, add_vectors, partition_tag=partition_tag) -# connect.flush([collection]) -# return add_vectors, ids - -# @pytest.fixture( -# scope="function", -# params=gen_simple_index() -# ) -# def get_simple_index(self, request, connect): -# if request.param["index_type"] not in [IndexType.FLAT, IndexType.IVF_FLAT, IndexType.IVF_SQ8]: -# pytest.skip("Skip PQ Temporary") -# return request.param - -# @pytest.fixture( -# scope="function", -# params=gen_simple_index() -# ) -# def get_jaccard_index(self, request, connect): -# -# @pytest.fixture( -# scope="function", -# params=gen_simple_index_params() -# ) -# def get_simple_index_params(self, request, connect): -# if request.param["index_type"] not in [IndexType.FLAT, IndexType.IVF_FLAT, IndexType.IVF_SQ8]: -# pytest.skip("Skip PQ Temporary") -# return request.param -# -# @pytest.fixture( -# scope="function", -# params=gen_simple_index_params() -# ) -# def get_jaccard_index_params(self, request, connect): -# logging.getLogger().info(request.param) -# if request.param["index_type"] == IndexType.IVFLAT or request.param["index_type"] == IndexType.FLAT: -# return request.param -# else: -# pytest.skip("Skip index Temporary") - -# @pytest.fixture( -# scope="function", -# params=gen_simple_index() -# ) -# def get_hamming_index(self, request, connect): -# -# @pytest.fixture( -# scope="function", -# params=gen_simple_index_params() -# ) -# def get_hamming_index_params(self, request, connect): -# logging.getLogger().info(request.param) -# if request.param["index_type"] == IndexType.IVFLAT or request.param["index_type"] == IndexType.FLAT: -# return request.param -# else: -# pytest.skip("Skip index Temporary") -# """ -# generate top-k params -# """ -# @pytest.fixture( -# scope="function", -# params=[1, 99, 1024, 2048] -# ) -# def get_top_k(self, request): -# yield request.param -# # auto flush -# def test_search_flat_normal_topk(self, connect, collection, get_top_k): -# ''' -# target: test basic search fuction, all the search params is corrent, change top-k value -# method: search with the given vector id, check the result -# expected: search status ok, and the length of the result is top_k -# ''' -# top_k = get_top_k -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, query_id, params={}) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert result[0][0].distance <= epsilon -# assert check_result(result[0], ids[0]) - -# def test_search_flat_max_topk(self, connect, collection): -# ''' -# target: test basic search fuction, all the search params is corrent, change top-k value -# method: search with the given vector id, check the result -# expected: search status ok, and the length of the result is top_k -# ''' -# top_k = 2049 -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, query_id, params={}) -# assert not status.OK() -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert not status.OK() -# -# def test_search_id_not_existed(self, connect, collection): -# ''' -# target: test basic search fuction, all the search params is corrent, change top-k value -# method: search with the given vector id, check the result -# expected: search status ok, and the length of the result is top_k -# ''' -# vectors, ids = self.init_data_and_flush(connect, collection, nb=small_size) -# query_id = non_exist_id -# status, result = connect.search_by_id(collection, top_k, query_id, params={}) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# -# # auto flush -# def test_search_ids(self, connect, collection): -# vectors, ids = self.init_data_ids(connect, collection, nb=small_size) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, query_id, params={}) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert result[0][0].distance <= epsilon -# assert check_result(result[0], ids[0]) -# # manual flush -# def test_search_ids_flush(self, connect, collection): -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# query_id = non_exist_id -# status, result = connect.search_by_id(collection, top_k, query_id, params={}) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert self.check_no_result(result[0]) - -# # ------------------------------------------------------------- l2, add manual flush, delete, search ------------------------------------------------------------- # -# # ids, manual flush, search collection, exist -# def test_search_index_l2(self, connect, collection, get_simple_index): -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert self.check_no_result(result[0]) -# -# # ------------------------------------------------------------- l2, add manual flush, delete, search ------------------------------------------------------------- # -# # ids, manual flush, search collection, exist -# def test_search_index_l2(self, connect, collection, get_simple_index_params): -# ''' -# target: test basic search fuction, all the search params is corrent, test all index params, and build -# method: search with the given vectors, check the result -# expected: search status ok, and the length of the result is top_k -# ''' -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert result[0][0].distance <= epsilon -# assert check_result(result[0], ids[0]) - -# # ids, manual flush, search collection, non exist -# def test_search_index_l2_id_not_existed(self, connect, collection, get_simple_index): -# -# # ids, manual flush, search collection, non exist -# def test_search_index_l2_id_not_existed(self, connect, collection, get_simple_index_params): -# ''' -# target: test basic search fuction, all the search params is corrent, test all index params, and build -# method: search with the given vectors, check the result -# expected: search status ok, and the length of the result is top_k -# ''' -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = non_exist_id -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) - -# # ids, manual flush, delete, manual flush, search collection, exist -# def test_search_index_delete(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# status = self.delete_data_and_flush(connect, collection, [query_id]) -# assert status.OK() -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# assert status.OK() -# assert self.check_no_result(result[0]) - -# # ids, manual flush, delete, manual flush, search collection, non exist -# def test_search_index_delete_id_not_existed(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = non_exist_id -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# -# # ids, manual flush, delete, manual flush, search collection, exist -# def test_search_index_delete(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status = self.delete_data_and_flush(connect, collection, [query_id]) -# assert status.OK() -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert self.check_no_result(result[0]) -# -# # ids, manual flush, delete, manual flush, search collection, non exist -# def test_search_index_delete_id_not_existed(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status = self.delete_data_and_flush(connect, collection, [query_id]) -# assert status.OK() -# query_id = non_exist_id -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# assert status.OK() -# assert self.check_no_result(result[0]) - -# def test_search_index_delete_no_flush(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# status = self.delete_data_no_flush(connect, collection, [query_id]) -# assert status.OK() -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# assert status.OK() -# assert check_result(result[0], query_id) - -# # ids, manual flush, delete, no flush, search collection, non exist -# def test_search_index_delete_no_flush_id_not_existed(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert self.check_no_result(result[0]) -# -# def test_search_index_delete_no_flush(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status = self.delete_data_no_flush(connect, collection, [query_id]) -# assert status.OK() -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert check_result(result[0], query_id) -# -# # ids, manual flush, delete, no flush, search collection, non exist -# def test_search_index_delete_no_flush_id_not_existed(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status = self.delete_data_no_flush(connect, collection, [query_id]) -# assert status.OK() -# query_id = non_exist_id -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# assert status.OK() -# assert self.check_no_result(result[0]) - -# def test_search_index_delete_add(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert self.check_no_result(result[0]) -# -# def test_search_index_delete_add(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# vectors, ids = self.init_data_and_flush_ids(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status = self.delete_data_no_flush(connect, collection, [query_id]) -# assert status.OK() -# vectors, new_ids = self.add_data_and_flush_ids(connect, collection, vectors) -# status = connect.create_index(collection, index_type, index_param) -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# status = connect.create_index(collection, index_params) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert result[0][0].distance <= epsilon -# assert check_result(result[0], query_id) -# status = self.delete_data_no_flush(connect, collection, [query_id]) -# assert status.OK() -# # add to collection, auto flush, search collection, search partition exist -# def test_search_l2_index_partition(self, connect, collection, get_simple_index): -# -# # add to collection, auto flush, search collection, search partition exist -# def test_search_l2_index_partition(self, connect, collection, get_simple_index_params): -# ''' -# target: test basic search fuction, all the search params is corrent, test all index params, and build -# method: add vectors into collection, search with the given vectors, check the result -# expected: search status ok, and the length of the result is top_k, search collection with partition tag return empty -# ''' -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, params=search_param) -# index_params = get_simple_index_params -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert check_result(result[0], ids[0]) -# assert result[0][0].distance <= epsilon -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=[tag], params=search_param) -# assert status.OK() -# assert len(result) == 0 - -# # add to partition, auto flush, search partition exist -# def test_search_l2_index_params_partition_2(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data_partition(connect, collection, tag, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=[tag], params=search_param) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert check_result(result[0], query_id) - -# def test_search_l2_index_partition_id_not_existed(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = non_exist_id -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=[tag], params=search_param) -# assert status.OK() -# assert len(result) == 0 - -# # add to collection, manual flush, search non-existing partition non exist -# def test_search_l2_index_partition_tag_not_existed(self, connect, collection, get_simple_index): -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data_partition_and_flush(connect, collection, tag, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = non_exist_id -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=['non_existing_tag'], params=search_param) -# assert status.OK() -# assert len(result) == 0 - -# def test_search_l2_index_partitions(self, connect, collection, get_simple_index): -# new_tag = "new_tag" -# index_param = get_simple_index["index_param"] -# index_type = get_simple_index["index_type"] -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=[tag]) -# assert status.OK() -# assert len(result) == 0 -# -# # add to partition, auto flush, search partition exist -# def test_search_l2_index_params_partition_2(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data_partition(connect, collection, tag, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=[tag]) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert check_result(result[0], query_id) -# -# def test_search_l2_index_partition_id_not_existed(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data(connect, collection, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = non_exist_id -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=[tag]) -# assert status.OK() -# assert len(result) == 0 -# -# # add to collection, manual flush, search non-existing partition non exist -# def test_search_l2_index_partition_tag_not_existed(self, connect, collection, get_simple_index_params): -# index_params = get_simple_index_params -# status = connect.create_partition(collection, tag) -# vectors, ids = self.init_data_partition_and_flush(connect, collection, tag, nb=small_size) -# status = connect.create_index(collection, index_params) -# query_id = non_exist_id -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=['non_existing_tag']) -# assert status.OK() -# assert len(result) == 0 -# -# def test_search_l2_index_partitions(self, connect, collection, get_simple_index_params): -# new_tag = "new_tag" -# index_params = get_simple_index_params -# status = connect.create_partition(collection, tag) -# status = connect.create_partition(collection, new_tag) -# vectors, ids = self.init_data_partition_and_flush(connect, collection, tag, nb=small_size) -# vectors, new_ids = self.init_data_partition_and_flush(connect, collection, new_tag, nb=small_size) -# status = connect.create_index(collection, index_type, index_param) -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=[tag, new_tag], search_param) -# status = connect.create_index(collection, index_params) -# query_id = ids[0] -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=[tag, new_tag]) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert check_result(result[0], ids[0]) -# assert result[0][0].distance <= epsilon -# query_id = new_ids[0] -# status, result = connect.search_by_id(collection, top_k, query_id, partition_tags=[tag, new_tag], search_param) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id, partition_tag_array=[tag, new_tag]) -# assert status.OK() -# assert len(result[0]) == min(len(vectors), top_k) -# assert check_result(result[0], new_ids[0]) -# assert result[0][0].distance <= epsilon - -# @pytest.mark.level(2) -# def test_search_by_id_without_connect(self, dis_connect, collection): -# ''' -# target: test search vectors without connection -# method: use dis connected instance, call search method and check if search successfully -# expected: raise exception -# ''' -# query_idtors = 123 -# with pytest.raises(Exception) as e: -# status, ids = dis_connect.search_by_id(collection, top_k, query_idtors, params={}) -# status, ids = dis_connect.search_by_id(collection, top_k, nprobe, query_idtors) -# -# def test_search_collection_name_not_existed(self, connect, collection): -# ''' -# target: search collection not existed -# method: search with the random collection_name, which is not in db -# expected: status not ok -# ''' -# collection_name = gen_unique_str("not_existed_collection") -# query_id = non_exist_id -# status, result = connect.search_by_id(collection_name, top_k, query_id, params={}) -# assert not status.OK() -# status, result = connect.search_by_id(collection_name, top_k, nprobe, query_id) -# assert not status.OK() - -# def test_search_collection_name_None(self, connect, collection): -# ''' -# target: search collection that collection name is None -# method: search with the collection_name: None -# expected: status not ok -# ''' -# collection_name = None -# query_ids = non_exist_id -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection_name, top_k, query_id, params={}) - -# def test_search_jac(self, connect, jac_collection, get_jaccard_index): -# index_param = get_jaccard_index["index_param"] -# index_type = get_jaccard_index["index_type"] -# vectors, ids = self.init_data_binary(connect, jac_collection) -# status = connect.create_index(jac_collection, index_type, index_param) -# assert status.OK() -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(jac_collection, top_k, query_id, params=search_param) -# status, result = connect.search_by_id(collection_name, top_k, nprobe, query_id) -# -# def test_search_jac(self, connect, jac_collection, get_jaccard_index_params): -# index_params = get_jaccard_index_params -# vectors, ids = self.init_data_binary(connect, jac_collection) -# status = connect.create_index(jac_collection, index_params) -# assert status.OK() -# query_id = ids[0] -# status, result = connect.search_by_id(jac_collection, top_k, nprobe, query_id) -# logging.getLogger().info(status) -# logging.getLogger().info(result) -# assert status.OK() -# assert check_result(result[0], ids[0]) -# assert result[0][0].distance <= epsilon - -# def test_search_ham(self, connect, ham_collection, get_hamming_index): -# index_param = get_hamming_index["index_param"] -# index_param = get_hamming_index["index_type"] -# vectors, ids = self.init_data_binary(connect, ham_collection) -# status = connect.create_index(ham_collection, index_type, index_param) -# assert status.OK() -# query_id = ids[0] -# search_param = get_search_param(index_type) -# status, result = connect.search_by_id(ham_collection, top_k, query_id, params=search_param) -# -# def test_search_ham(self, connect, ham_collection, get_hamming_index_params): -# index_params = get_hamming_index_params -# vectors, ids = self.init_data_binary(connect, ham_collection) -# status = connect.create_index(ham_collection, index_params) -# assert status.OK() -# query_id = ids[0] -# status, result = connect.search_by_id(ham_collection, top_k, nprobe, query_id) -# logging.getLogger().info(status) -# logging.getLogger().info(result) -# assert status.OK() -# assert check_result(result[0], ids[0]) -# assert result[0][0].distance <= epsilon - -# """ -# ****************************************************************** -# # The following cases are used to test `search_by_id` function -# # with invalid collection_name top-k / nprobe / query_range -# ****************************************************************** -# """ - -# class TestSearchParamsInvalid(object): -# nlist = 16384 -# index_type = IndexType.IVF_SQ8 -# index_param = {"nlist": nlist} - -# -# class TestSearchParamsInvalid(object): -# nlist = 16384 -# index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist} -# -# """ -# Test search collection with invalid collection names -# """ -# @pytest.fixture( -# scope="function", -# params=gen_invalid_collection_names() -# ) -# def get_collection_name(self, request): -# yield request.param - -# @pytest.mark.level(2) -# def test_search_with_invalid_collectionname(self, connect, get_collection_name): -# collection_name = get_collection_name -# query_id = non_exist_id -# status, result = connect.search_by_id(collection_name, top_k, query_id) -# assert not status.OK( -# status, result = connect.search_by_id(collection_name, top_k, nprobe, query_id) -# assert not status.OK() -# -# @pytest.mark.level(1) -# def test_search_with_invalid_tag_format(self, connect, collection): -# query_id = non_exist_id -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection_name, top_k, query_id, partition_tags="tag") -# status, result = connect.search_by_id(collection_name, top_k, nprobe, query_id, partition_tag_array="tag") -# -# """ -# Test search collection with invalid top-k -# """ -# @pytest.fixture( -# scope="function", -# params=gen_invalid_top_ks() -# ) -# def get_top_k(self, request): -# yield request.param - -# @pytest.mark.level(1) -# def test_search_with_invalid_top_k(self, connect, collection, get_top_k): -# top_k = get_top_k -# query_id = non_exist_id -# if isinstance(top_k, int): -# status, result = connect.search_by_id(collection, top_k, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection, top_k, query_id) -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# -# @pytest.mark.level(2) -# def test_search_with_invalid_top_k_ip(self, connect, ip_collection, get_top_k): -# top_k = get_top_k -# query_id = non_exist_id -# if isinstance(top_k, int): - -# status, result = connect.search_by_id(ip_collection, top_k, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(ip_collection, top_k, query_id) -# status, result = connect.search_by_id(ip_collection, top_k, nprobe, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(ip_collection, top_k, nprobe, query_id) -# -# """ -# Test search collection with invalid nprobe -# """ -# @pytest.fixture( -# scope="function", -# params=gen_invalid_nprobes() -# ) -# def get_nprobes(self, request): -# yield request.param - -# @pytest.mark.level(1) -# def test_search_with_invalid_nprobe(self, connect, collection, get_nprobes): -# nprobe = get_nprobes -# logging.getLogger().info(nprobe) -# query_id = non_exist_id -# if isinstance(nprobe, int): -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) - -# @pytest.mark.level(2) -# def test_search_with_invalid_nprobe_ip(self, connect, ip_collection, get_nprobes): -# ''' -# target: test search fuction, with the wrong top_k -# method: search with top_k -# expected: raise an error, and the connection is normal -# ''' -# nprobe = get_nprobes -# logging.getLogger().info(nprobe) -# query_id = non_exist_id -# if isinstance(nprobe, int): -# status, result = connect.search_by_id(ip_collection, top_k, nprobe, query_id) -# assert not status.OK() -# else: -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(ip_collection, top_k, nprobe, query_id) -# """ -# Test search collection with invalid ids -# """ -# @pytest.fixture( -# scope="function", -# params=gen_invalid_vector_ids() -# ) -# def get_vector_ids(self, request): -# yield request.param - -# @pytest.mark.level(1) -# def test_search_flat_with_invalid_vector_id(self, connect, collection, get_vector_ids): -# ''' -# target: test search fuction, with the wrong query_range -# method: search with query_range -# expected: raise an error, and the connection is normal -# ''' -# query_id = get_vector_ids -# logging.getLogger().info(query_id) -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(collection, top_k, nprobe, query_id) - -# @pytest.mark.level(2) -# def test_search_flat_with_invalid_vector_id_ip(self, connect, ip_collection, get_vector_ids): -# query_id = get_vector_ids -# logging.getLogger().info(query_id) -# with pytest.raises(Exception) as e: -# status, result = connect.search_by_id(ip_collection, top_k, nprobe, query_id) - -# def check_result(result, id): -# if len(result) >= 5: -# return id in [x.id for x in result[:5]] -# else: -# return id in (i.id for i in result) diff --git a/tests/milvus_python_test/test_search_by_ids.py b/tests/milvus_python_test/test_search_by_ids.py new file mode 100755 index 0000000000..f1af947bf8 --- /dev/null +++ b/tests/milvus_python_test/test_search_by_ids.py @@ -0,0 +1,505 @@ +import pdb +import copy +import struct +import pytest +import threading +import datetime +import logging +from time import sleep +from multiprocessing import Process +import numpy +import sklearn.preprocessing +from milvus import Milvus, IndexType, MetricType +from utils import * + +dim = 128 +collection_id = "test_search_by_ids" +nb = 6000 +vectors = gen_vectors(nb, dim) +vectors = sklearn.preprocessing.normalize(vectors, axis=1, norm='l2') +vectors = vectors.tolist() +nprobe = 1 +epsilon = 0.001 +tag = "overallpaper" +top_k = 5 +nq = 10 +nprobe = 1 +non_exist_id = [9527] +raw_vectors, binary_vectors = gen_binary_vectors(6000, dim) + + +class TestSearchBase: + @pytest.fixture(scope="function", autouse=True) + def skip_check(self, connect): + if str(connect._cmd("mode")[1]) == "CPU" or str(connect._cmd("mode")[1]) == "GPU": + reason = "GPU mode not support" + logging.getLogger().info(reason) + pytest.skip(reason) + + def init_data(self, connect, collection, nb=6000): + ''' + Generate vectors and add it in collection, before search vectors + ''' + global vectors + if nb == 6000: + add_vectors = vectors + else: + add_vectors = gen_vectors(nb, dim) + status, ids = connect.add_vectors(collection, add_vectors) + connect.flush([collection]) + return add_vectors, ids + + def init_data_binary(self, connect, collection, nb=6000): + ''' + Generate vectors and add it in collection, before search vectors + ''' + global binary_vectors + if nb == 6000: + add_vectors = binary_vectors + else: + add_vectors = gen_binary_vectors(nb, dim) + status, ids = connect.add_vectors(collection, add_vectors) + connect.flush([collection]) + return add_vectors, ids + + def init_data_no_flush(self, connect, collection, nb=6000): + global vectors + if nb == 6000: + add_vectors = vectors + else: + add_vectors = gen_vectors(nb, dim) + status, ids = connect.add_vectors(collection, add_vectors) + return add_vectors, ids + + def init_data_ids(self, connect, collection, nb=6000): + global vectors + my_ids = [i for i in range(nb)] + if nb == 6000: + add_vectors = vectors + else: + add_vectors = gen_vectors(nb, dim) + status, ids = connect.add_vectors(collection, add_vectors, my_ids) + connect.flush([collection]) + return add_vectors, ids + + def check_no_result(self, results): + if len(results) == 0: + return True + flag = True + for r in results: + flag = flag and (r.id == -1) + if not flag: + return False + return flag + + def init_data_partition(self, connect, collection, partition_tag, nb=6000): + ''' + Generate vectors and add it in collection, before search vectors + ''' + global vectors + if nb == 6000: + add_vectors = vectors + else: + add_vectors = gen_vectors(nb, dim) + add_vectors = sklearn.preprocessing.normalize(add_vectors, axis=1, norm='l2') + add_vectors = add_vectors.tolist() + status, ids = connect.add_vectors(collection, add_vectors, partition_tag=partition_tag) + connect.flush([collection]) + return add_vectors, ids + + @pytest.fixture( + scope="function", + params=gen_simple_index() + ) + def get_simple_index(self, request, connect): + if str(connect._cmd("mode")[1]) == "CPU": + if request.param["index_type"] == IndexType.IVF_SQ8H: + pytest.skip("sq8h not support in CPU mode") + if str(connect._cmd("mode")[1]) == "GPU": + if request.param["index_type"] == IndexType.IVF_PQ: + pytest.skip("ivfpq not support in GPU mode") + return request.param + + @pytest.fixture( + scope="function", + params=gen_simple_index() + ) + def get_jaccard_index(self, request, connect): + logging.getLogger().info(request.param) + if request.param["index_type"] == IndexType.IVFLAT or request.param["index_type"] == IndexType.FLAT: + return request.param + else: + pytest.skip("Skip index Temporary") + + @pytest.fixture( + scope="function", + params=gen_simple_index() + ) + def get_hamming_index(self, request, connect): + logging.getLogger().info(request.param) + if request.param["index_type"] == IndexType.IVFLAT or request.param["index_type"] == IndexType.FLAT: + return request.param + else: + pytest.skip("Skip index Temporary") + + @pytest.fixture( + scope="function", + params=gen_simple_index() + ) + def get_structure_index(self, request, connect): + logging.getLogger().info(request.param) + if request.param["index_type"] == IndexType.FLAT: + return request.param + else: + pytest.skip("Skip index Temporary") + + """ + generate top-k params + """ + @pytest.fixture( + scope="function", + params=[1, 2048] + ) + def get_top_k(self, request): + yield request.param + + def test_search_flat_normal_topk(self, connect, collection, get_top_k): + ''' + target: test basic search fuction, all the search params is corrent, change top-k value + method: search with the given vector id, check the result + expected: search status ok, and the length of the result is top_k + ''' + top_k = get_top_k + vectors, ids = self.init_data(connect, collection) + query_ids = [ids[0]] + status, result = connect.search_by_ids(collection, query_ids, top_k, params={}) + assert status.OK() + assert len(result[0]) == min(len(vectors), top_k) + assert result[0][0].distance <= epsilon + assert check_result(result[0], ids[0]) + + def test_search_flat_max_topk(self, connect, collection): + ''' + target: test basic search fuction, all the search params is corrent, change top-k value + method: search with the given vector id, check the result + expected: search status ok, and the length of the result is top_k + ''' + top_k = 2049 + vectors, ids = self.init_data(connect, collection) + query_ids = ids[0] + status, result = connect.search_by_ids(collection, query_ids, top_k, params={}) + assert not status.OK() + + def test_search_id_not_existed(self, connect, collection): + ''' + target: test basic search fuction, all the search params is corrent, change top-k value + method: search with the given vector id, check the result + expected: search status ok, and the length of the result is top_k + ''' + vectors, ids = self.init_data(connect, collection) + query_ids = non_exist_id + status, result = connect.search_by_ids(collection, query_ids, top_k, params={}) + assert status.OK() + assert len(result[0]) == min(len(vectors), top_k) + + def test_search_collection_empty(self, connect, collection): + ''' + target: test basic search fuction, all the search params is corrent, change top-k value + method: search with the given vector id, check the result + expected: search status ok, and the length of the result is top_k + ''' + query_ids = non_exist_id + status, result = connect.search_by_ids(collection, query_ids, top_k, params={}) + assert status.OK() + assert len(result) == 0 + + def test_search_index_l2(self, connect, collection, get_simple_index): + ''' + target: test basic search fuction, all the search params is corrent, test all index params, and build + method: search with the given vectors, check the result + expected: search status ok, and the length of the result is top_k + ''' + index_param = get_simple_index["index_param"] + index_type = get_simple_index["index_type"] + vectors, ids = self.init_data(connect, collection) + status = connect.create_index(collection, index_type, index_param) + query_ids = [ids[0]] + search_param = get_search_param(index_type) + status, result = connect.search_by_ids(collection, query_ids, top_k, params=search_param) + assert status.OK() + assert len(result[0]) == min(len(vectors), top_k) + assert result[0][0].distance <= epsilon + assert check_result(result[0], ids[0]) + + def test_search_index_l2_B(self, connect, collection, get_simple_index): + ''' + target: test basic search fuction, all the search params is corrent, test all index params, and build + method: search with the given vectors, check the result + expected: search status ok, and the length of the result is top_k + ''' + index_param = get_simple_index["index_param"] + index_type = get_simple_index["index_type"] + vectors, ids = self.init_data(connect, collection) + status = connect.create_index(collection, index_type, index_param) + query_ids = ids[0:nq] + search_param = get_search_param(index_type) + status, result = connect.search_by_ids(collection, query_ids, top_k, params=search_param) + assert status.OK() + assert len(result) == nq + for i in nq: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + def test_search_index_l2_C(self, connect, collection, get_simple_index): + ''' + target: test basic search fuction, all the search params is corrent, one id is not existed + method: search with the given vectors, check the result + expected: search status ok, and the length of the result is top_k + ''' + index_param = get_simple_index["index_param"] + index_type = get_simple_index["index_type"] + vectors, ids = self.init_data(connect, collection) + status = connect.create_index(collection, index_type, index_param) + query_ids = ids[0:nq] + query_ids[0] = non_exist_id + search_param = get_search_param(index_type) + status, result = connect.search_by_ids(collection, [query_ids], top_k, params=search_param) + assert status.OK() + assert len(result) == nq + for i in nq: + if i == 0: + assert result[i].id == -1 + else: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + def test_search_index_delete(self, connect, collection): + vectors, ids = self.init_data(connect, collection) + query_ids = ids[0] + status = connect.delete_by_id(collection, [query_ids]) + assert status.OK() + status = connect.flush(collection) + status, result = connect.search_by_ids(collection, [query_ids], top_k, params={}) + assert status.OK() + assert len(result) == 1 + assert result[0][0].distance <= epsilon + assert result[0][0].id != ids[0] + + def test_search_l2_partition_tag_not_existed(self, connect, collection): + ''' + target: test basic search fuction, all the search params is corrent, test all index params, and build + method: add vectors into collection, search with the given vectors, check the result + expected: search status ok, and the length of the result is top_k, search collection with partition tag return empty + ''' + status = connect.create_partition(collection, tag) + vectors, ids = self.init_data(connect, collection) + query_ids = ids[0] + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[tag], params=search_param) + assert status.OK() + assert len(result) == 0 + + def test_search_l2_partition_other(self, connect, collection): + tag = gen_unique_str() + status = connect.create_partition(collection, tag) + vectors, ids = self.init_data(connect, collection) + query_ids = ids[0] + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[tag], params=search_param) + assert status.OK() + assert len(result) == 0 + + def test_search_l2_partition(self, connect, collection): + vectors, ids = self.init_data_partition(connect, collection, tag) + query_ids = ids[-1] + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[tag]) + assert status.OK() + assert len(result) == 1 + assert len(result[0]) == min(len(vectors), top_k) + assert check_result(result[0], query_ids) + + def test_search_l2_partition_B(self, connect, collection): + status = connect.create_partition(collection, tag) + vectors, ids = self.init_data_partition(connect, collection, tag) + query_ids = ids[0:nq] + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[tag]) + assert status.OK() + assert len(result) == nq + for i in nq: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + def test_search_l2_index_partitions(self, connect, collection): + new_tag = "new_tag" + status = connect.create_partition(collection, tag) + status = connect.create_partition(collection, new_tag) + vectors, ids = self.init_data_partition(connect, collection, tag) + vectors, new_ids = self.init_data_partition(connect, collection, new_tag, nb=nb+1) + tmp = 2 + query_ids = ids[0:tmp] + query_ids.extend(new_ids[0:nq-tmp]) + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[tag, new_tag], params={}) + assert status.OK() + assert len(result) == nq + for i in nq: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + def test_search_l2_index_partitions_match_one_tag(self, connect, collection): + new_tag = "new_tag" + status = connect.create_partition(collection, tag) + status = connect.create_partition(collection, new_tag) + vectors, ids = self.init_data_partition(connect, collection, tag) + vectors, new_ids = self.init_data_partition(connect, collection, new_tag, nb=nb+1) + tmp = 2 + query_ids = ids[0:tmp] + query_ids.extend(new_ids[0:nq-tmp]) + status, result = connect.search_by_ids(collection, query_ids, top_k, partition_tags=[new_tag], params={}) + assert status.OK() + assert len(result) == nq + for i in nq: + if i < tmp: + assert result[i][0].distance > epsilon + assert result[i][0].id != ids[i] + else: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + def test_search_by_ids_without_connect(self, dis_connect, collection): + ''' + target: test search vectors without connection + method: use dis connected instance, call search method and check if search successfully + expected: raise exception + ''' + query_ids = [1] + with pytest.raises(Exception) as e: + status, ids = dis_connect.search_by_ids(collection, query_ids, top_k, params={}) + + def test_search_collection_name_not_existed(self, connect, collection): + ''' + target: search collection not existed + method: search with the random collection_name, which is not in db + expected: status not ok + ''' + collection_name = gen_unique_str("not_existed_collection") + query_ids = non_exist_id + status, result = connect.search_by_ids(collection_name, query_ids, top_k, params={}) + assert not status.OK() + + def test_search_collection_name_None(self, connect, collection): + ''' + target: search collection that collection name is None + method: search with the collection_name: None + expected: status not ok + ''' + collection_name = None + query_ids = non_exist_id + with pytest.raises(Exception) as e: + status, result = connect.search_by_ids(collection_name, query_ids, top_k, params={}) + + def test_search_jac(self, connect, jac_collection, get_jaccard_index): + index_param = get_jaccard_index["index_param"] + index_type = get_jaccard_index["index_type"] + vectors, ids = self.init_data_binary(connect, jac_collection) + status = connect.create_index(jac_collection, index_type, index_param) + assert status.OK() + query_ids = ids[0:nq] + search_param = get_search_param(index_type) + status, result = connect.search_by_ids(jac_collection, query_ids, top_k, params=search_param) + assert status.OK() + assert len(result) == nq + for i in nq: + assert len(result[i]) == min(len(vectors), top_k) + assert result[i][0].distance <= epsilon + assert check_result(result[i], ids[i]) + + +""" +****************************************************************** +# The following cases are used to test `search_by_ids` function +# with invalid collection_name top-k / ids / tags +****************************************************************** +""" + +class TestSearchParamsInvalid(object): + nlist = 16384 + index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist} + + """ + Test search collection with invalid collection names + """ + @pytest.fixture( + scope="function", + params=gen_invalid_collection_names() + ) + def get_collection_name(self, request): + yield request.param + + @pytest.mark.level(2) + def test_search_with_invalid_collectionname(self, connect, get_collection_name): + collection_name = get_collection_name + query_ids = non_exist_id + status, result = connect.search_by_ids(collection_name, query_ids, top_k, params={}) + assert not status.OK() + + @pytest.mark.level(1) + def test_search_with_invalid_tag_format(self, connect, collection): + query_ids = non_exist_id + with pytest.raises(Exception) as e: + status, result = connect.search_by_ids(collection_name, query_ids, top_k, partition_tags="tag") + + """ + Test search collection with invalid top-k + """ + @pytest.fixture( + scope="function", + params=gen_invalid_top_ks() + ) + def get_top_k(self, request): + yield request.param + + @pytest.mark.level(1) + def test_search_with_invalid_top_k(self, connect, collection, get_top_k): + top_k = get_top_k + query_ids = non_exist_id + if isinstance(top_k, int): + status, result = connect.search_by_ids(collection, query_ids, top_k) + assert not status.OK() + else: + with pytest.raises(Exception) as e: + status, result = connect.search_by_ids(collection, query_ids, top_k) + + """ + Test search collection with invalid query ids + """ + @pytest.fixture( + scope="function", + params=gen_invalid_vector_ids() + ) + def get_ids(self, request): + yield request.param + + @pytest.mark.level(1) + def test_search_with_invalid_ids(self, connect, collection, get_ids): + id = get_ids + query_ids = [id] + if not isinstance(id, int): + with pytest.raises(Exception) as e: + status, result = connect.search_by_ids(collection, query_ids, top_k) + + @pytest.mark.level(2) + def test_search_with_part_invalid_ids(self, connect, collection, get_ids): + id = get_ids + query_ids = [1, id] + with pytest.raises(Exception) as e: + status, result = connect.search_by_ids(collection, query_ids, top_k) + + +def check_result(result, id): + if len(result) >= 5: + return id in [x.id for x in result[:5]] + else: + return id in (i.id for i in result) diff --git a/tests/milvus_python_test/test_wal.py b/tests/milvus_python_test/test_wal.py index 86887a2b63..867d94d1cc 100644 --- a/tests/milvus_python_test/test_wal.py +++ b/tests/milvus_python_test/test_wal.py @@ -35,10 +35,10 @@ class TestWalBase: status, res = connect.count_collection(collection) assert status.OK() assert res == nb - status, res = connect.get_vector_by_id(collection, ids[0]) + status, res = connect.get_vectors_by_ids(collection, [ids[0]]) logging.getLogger().info(res) assert status.OK() - assert_equal_vector(res, vectors[0]) + assert_equal_vector(res[0], vectors[0]) @pytest.mark.timeout(WAL_TIMEOUT) def test_wal_delete_vectors(self, connect, collection): @@ -123,7 +123,7 @@ class TestWalBase: status, res = connect.count_collection(collection) assert status.OK() assert res == 1 - status, res = connect.get_vector_by_id(collection, ids[0]) + status, res = connect.get_vectors_by_ids(collection, [ids[0]]) logging.getLogger().info(res) assert status.OK() - assert_equal_vector(res, vector[0]) + assert_equal_vector(res[0], vector[0]) From d8b1b54bd62a8e44d239ba9e87c171ed993bae23 Mon Sep 17 00:00:00 2001 From: SwaggySong <36157116+SwaggySong@users.noreply.github.com> Date: Sat, 25 Apr 2020 14:50:47 +0800 Subject: [PATCH 31/49] Remove unused enum (#2089) Signed-off-by: SwaggySong 36157116+SwaggySong@users.noreply.github.com --- shards/mishards/connections.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shards/mishards/connections.py b/shards/mishards/connections.py index d66d0eee22..ab8c78e302 100644 --- a/shards/mishards/connections.py +++ b/shards/mishards/connections.py @@ -1,5 +1,4 @@ import time -import enum import json import logging import threading From 7deef8029f8256b3eaeff309038386615d0308bd Mon Sep 17 00:00:00 2001 From: Cross Date: Sat, 25 Apr 2020 14:53:49 +0800 Subject: [PATCH 32/49] Update GrpcRequestHandler.cpp (#2085) Signed-off-by: Cross --- core/src/server/grpc_impl/GrpcRequestHandler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index 1d375a186b..a4ec05e8f9 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -521,9 +521,7 @@ GrpcRequestHandler::SearchInFiles(::grpc::ServerContext* context, const ::milvus // step 2: copy file id array std::vector file_ids; - for (auto& file_id : request->file_id_array()) { - file_ids.emplace_back(file_id); - } + std::copy(request->file_id_array().begin(), request->file_id_array().end(), std::back_inserter(file_ids)); // step 3: partition tags std::vector partitions; From 2247d58cc4c05577184d10006286178e7d71dfeb Mon Sep 17 00:00:00 2001 From: binbin12580 <30914966+binbin12580@users.noreply.github.com> Date: Sat, 25 Apr 2020 15:26:16 +0800 Subject: [PATCH 33/49] Unused variable: ids (#2088) Signed-off-by: binbin12580 <1565196967@qq.com> --- core/src/db/DBImpl.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index 2e63589004..654d06844f 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -1470,7 +1470,6 @@ DBImpl::HybridQuery(const std::shared_ptr& context, const std:: } Status status; - std::vector ids; meta::SegmentsSchema files_array; if (partition_tags.empty()) { From 87fc760416aadbbc54474a685c05c3c2d54111ed Mon Sep 17 00:00:00 2001 From: Murpphy <31717785+Murpphy@users.noreply.github.com> Date: Sat, 25 Apr 2020 15:27:38 +0800 Subject: [PATCH 34/49] Remove unsed datetime (#2094) Signed-off-by: Murpphy <31717785+Murpphy@users.noreply.github.com> --- shards/mishards/service_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index e43125a6a7..bc79b96a7c 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -1,6 +1,5 @@ import logging import time -import datetime import json from collections import defaultdict import ujson From 6d2c50ac2113399caba01dba3e427c1c7db8a9ef Mon Sep 17 00:00:00 2001 From: chengpu Date: Sat, 25 Apr 2020 15:28:31 +0800 Subject: [PATCH 35/49] Use std::copy to replace forloop assignment (#2087) Signed-off-by: chengpu --- core/src/server/grpc_impl/GrpcRequestHandler.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/server/grpc_impl/GrpcRequestHandler.cpp b/core/src/server/grpc_impl/GrpcRequestHandler.cpp index a4ec05e8f9..6eee6ab9fa 100644 --- a/core/src/server/grpc_impl/GrpcRequestHandler.cpp +++ b/core/src/server/grpc_impl/GrpcRequestHandler.cpp @@ -475,9 +475,8 @@ GrpcRequestHandler::SearchByID(::grpc::ServerContext* context, const ::milvus::g // step 1: partition tags std::vector partitions; - for (auto& partition : request->partition_tag_array()) { - partitions.emplace_back(partition); - } + std::copy(request->partition_tag_array().begin(), request->partition_tag_array().end(), + std::back_inserter(partitions)); // step 2: partition tags std::vector id_array; From c4290271ca90b5e21287a7abce6dfe28739f86a4 Mon Sep 17 00:00:00 2001 From: weishuo <2411602273@qq.com> Date: Sat, 25 Apr 2020 15:30:13 +0800 Subject: [PATCH 36/49] Remove unused defaultdict in shards/mishards/service_handler.py. (#2092) Signed-off-by: weishuo <2411602273@qq.com> --- shards/mishards/service_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index bc79b96a7c..b6d27598c0 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -1,7 +1,6 @@ import logging import time import json -from collections import defaultdict import ujson import multiprocessing From 8a63d27612b5cd17ddc04399b744985c4887c506 Mon Sep 17 00:00:00 2001 From: "zhenshan.cao" Date: Sat, 25 Apr 2020 15:31:44 +0800 Subject: [PATCH 37/49] Remove unused settings (#2095) Signed-off-by: czs007 --- shards/mishards/service_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index b6d27598c0..08aba8e90f 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -10,7 +10,7 @@ from milvus.grpc_gen.milvus_pb2 import TopKQueryResult from milvus.client import types as Types from milvus import MetricType -from mishards import (db, settings, exceptions) +from mishards import (db, exceptions) from mishards.grpc_utils import mark_grpc_method from mishards.grpc_utils.grpc_args_parser import GrpcArgsParser as Parser from mishards import utilities From 3c53ee2700ffc9a7f0dc7358cc8d09d6c6aa571e Mon Sep 17 00:00:00 2001 From: ashyshyshyman <1204034196@qq.com> Date: Sat, 25 Apr 2020 15:35:43 +0800 Subject: [PATCH 38/49] Remove unused utilities (#2104) Signed-off-by: ashyshyshyman <1204034196@qq.com> --- shards/mishards/service_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index 08aba8e90f..8f32f14377 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -13,7 +13,6 @@ from milvus import MetricType from mishards import (db, exceptions) from mishards.grpc_utils import mark_grpc_method from mishards.grpc_utils.grpc_args_parser import GrpcArgsParser as Parser -from mishards import utilities logger = logging.getLogger(__name__) From c33df2ee20275bbc7438aaa8ad30c65453e8c145 Mon Sep 17 00:00:00 2001 From: dd-He <1843757857@qq.com> Date: Sat, 25 Apr 2020 15:37:23 +0800 Subject: [PATCH 39/49] Use emplace_back instead of push_back (#2103) Signed-off-by: dd-He <1843757857@qq.com> --- .../index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp index 2682af9cf1..bb7908214a 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp @@ -158,7 +158,7 @@ IndexHNSW::Query(const DatasetPtr& dataset_ptr, const Config& config) { ret = index_->searchKnn((float*)single_query, k, compare, blacklist); while (ret.size() < k) { - ret.push_back(std::make_pair(-1, -1)); + ret.emplace_back(std::make_pair(-1, -1)); } std::vector dist; std::vector ids; From d3daa0d3ea25ff07c92681ad55817d898c3f7f75 Mon Sep 17 00:00:00 2001 From: FluorineDog Date: Sat, 25 Apr 2020 15:47:31 +0800 Subject: [PATCH 40/49] Remove import TopKQueryResult (#2100) Signed-off-by: fluorinedog --- shards/mishards/service_handler.py | 1 - 1 file changed, 1 deletion(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index 8f32f14377..a0661d8439 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -6,7 +6,6 @@ import ujson import multiprocessing from concurrent.futures import ThreadPoolExecutor from milvus.grpc_gen import milvus_pb2, milvus_pb2_grpc, status_pb2 -from milvus.grpc_gen.milvus_pb2 import TopKQueryResult from milvus.client import types as Types from milvus import MetricType From 42b1983625b961d30743858bf98ab07accccda1d Mon Sep 17 00:00:00 2001 From: xge-zilliz Date: Sat, 25 Apr 2020 15:49:43 +0800 Subject: [PATCH 41/49] Delete useless boolean (#2107) Signed-off-by: xge-zilliz --- .../index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp index bb7908214a..3d14d1be8e 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp @@ -68,7 +68,7 @@ IndexHNSW::Load(const BinarySet& index_binary) { index_ = std::make_shared>(space); index_->loadIndex(reader); - normalize = index_->metric_type_ == 1 ? true : false; // 1 == InnerProduct + normalize = index_->metric_type_ == 1; // 1 == InnerProduct } catch (std::exception& e) { KNOWHERE_THROW_MSG(e.what()); } From e5dab2a43c35e1ded07dab1b5a29c06ede887f17 Mon Sep 17 00:00:00 2001 From: xiaocai2333 <46207236+xiaocai2333@users.noreply.github.com> Date: Sat, 25 Apr 2020 15:50:38 +0800 Subject: [PATCH 42/49] Remove unused ConnectionMgr (#2102) Signed-off-by: xiaocai2333 <46207236+xiaocai2333@users.noreply.github.com> --- shards/mishards/test_server.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/shards/mishards/test_server.py b/shards/mishards/test_server.py index cc586397a5..b6acd9f287 100644 --- a/shards/mishards/test_server.py +++ b/shards/mishards/test_server.py @@ -14,8 +14,6 @@ from mishards.service_handler import ServiceHandler from mishards.grpc_utils.grpc_args_parser import GrpcArgsParser as Parser from mishards.factories import TableFilesFactory, TablesFactory, TableFiles, Tables from mishards.router import RouterMixin -from mishards.connections import (Connection, - ConnectionPool, ConnectionTopology, ConnectionGroup) logger = logging.getLogger(__name__) From 6fe2cf1580ee463330c1ec90b84770c5d6fd530c Mon Sep 17 00:00:00 2001 From: grtoverflow Date: Sat, 25 Apr 2020 16:12:58 +0800 Subject: [PATCH 43/49] Update ConfAdapter.cpp (#2106) Signed-off-by: grtoverflow --- .../index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp b/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp index 36288d26fc..3d438d5021 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/ConfAdapter.cpp @@ -242,7 +242,7 @@ NSGConfAdapter::CheckSearch(Config& oricfg, const IndexType type, const IndexMod bool HNSWConfAdapter::CheckTrain(Config& oricfg, const IndexMode mode) { static int64_t MIN_EFCONSTRUCTION = 100; - static int64_t MAX_EFCONSTRUCTION = 500; + static int64_t MAX_EFCONSTRUCTION = 800; static int64_t MIN_M = 5; static int64_t MAX_M = 48; From b454f462c1bfc0be8a4ecb37b9526f578ed86f6c Mon Sep 17 00:00:00 2001 From: czp <2426009680@qq.com> Date: Sat, 25 Apr 2020 16:13:32 +0800 Subject: [PATCH 44/49] put error when call Flush (#2097) Signed-off-by: beautifulpython <2426009680@qq.com> --- core/src/db/insert/MemManagerImpl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/db/insert/MemManagerImpl.cpp b/core/src/db/insert/MemManagerImpl.cpp index 5de84bf7bd..9de533b118 100644 --- a/core/src/db/insert/MemManagerImpl.cpp +++ b/core/src/db/insert/MemManagerImpl.cpp @@ -97,6 +97,7 @@ MemManagerImpl::InsertEntities(const std::string& table_id, int64_t length, cons << "Insert buffer size exceeds limit. Performing force flush"; auto status = Flush(flushed_tables, false); if (!status.ok()) { + LOG_ENGINE_DEBUG_ << LogOut("[%s][%ld] ", "insert", 0) << "Flush fail: " << status.message(); return status; } } From 4c108c7578b3e65a46c1852b3188f7d12db2a3ef Mon Sep 17 00:00:00 2001 From: yxm1536 <62009483+yxm1536@users.noreply.github.com> Date: Sat, 25 Apr 2020 16:57:14 +0800 Subject: [PATCH 45/49] Rename MemMenagerFactory.cpp/h to MemManagerFactory.cpp/h (#2093) * Rename MemMenagerFactory.cpp to MemManagerFactory.cpp Signed-off-by: yxm1536 <62009483+yxm1536@users.noreply.github.com> * Rename MemMenagerFactory.h to MemManagerFactory.h Signed-off-by: yxm1536 <62009483+yxm1536@users.noreply.github.com> * Fix compilation error Signed-off-by: JinHai-CN Co-authored-by: JinHai-CN --- core/src/db/DBImpl.cpp | 2 +- .../db/insert/{MemMenagerFactory.cpp => MemManagerFactory.cpp} | 2 +- core/src/db/insert/{MemMenagerFactory.h => MemManagerFactory.h} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename core/src/db/insert/{MemMenagerFactory.cpp => MemManagerFactory.cpp} (96%) rename core/src/db/insert/{MemMenagerFactory.h => MemManagerFactory.h} (100%) diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index 654d06844f..0d136c7500 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -33,7 +33,7 @@ #include "db/IDGenerator.h" #include "engine/EngineFactory.h" #include "index/thirdparty/faiss/utils/distances.h" -#include "insert/MemMenagerFactory.h" +#include "insert/MemManagerFactory.h" #include "meta/MetaConsts.h" #include "meta/MetaFactory.h" #include "meta/SqliteMetaImpl.h" diff --git a/core/src/db/insert/MemMenagerFactory.cpp b/core/src/db/insert/MemManagerFactory.cpp similarity index 96% rename from core/src/db/insert/MemMenagerFactory.cpp rename to core/src/db/insert/MemManagerFactory.cpp index 344b9385a8..b75f3605a5 100644 --- a/core/src/db/insert/MemMenagerFactory.cpp +++ b/core/src/db/insert/MemManagerFactory.cpp @@ -9,7 +9,7 @@ // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. -#include "db/insert/MemMenagerFactory.h" +#include "db/insert/MemManagerFactory.h" #include "MemManagerImpl.h" #include "utils/Exception.h" #include "utils/Log.h" diff --git a/core/src/db/insert/MemMenagerFactory.h b/core/src/db/insert/MemManagerFactory.h similarity index 100% rename from core/src/db/insert/MemMenagerFactory.h rename to core/src/db/insert/MemManagerFactory.h From fed865c7c95d82443244df7754a11a1333665fec Mon Sep 17 00:00:00 2001 From: GuoRentong <57477222+GuoRentong@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:35:04 +0800 Subject: [PATCH 46/49] Values of type 'const size_t' may not fit into the receiver type 'int' (#2109) Signed-off-by: GuoRentong Co-authored-by: guo rentong --- core/src/index/thirdparty/annoy/src/annoylib.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/index/thirdparty/annoy/src/annoylib.h b/core/src/index/thirdparty/annoy/src/annoylib.h index b418869894..9f21bbcf2d 100644 --- a/core/src/index/thirdparty/annoy/src/annoylib.h +++ b/core/src/index/thirdparty/annoy/src/annoylib.h @@ -834,9 +834,9 @@ class AnnoyIndexInterface { virtual bool load(const char* filename, bool prefault=false, char** error=nullptr) = 0; virtual bool load_index(void* index_data, const int64_t& index_size, char** error = nullptr) = 0; virtual T get_distance(S i, S j) const = 0; - virtual void get_nns_by_item(S item, size_t n, int search_k, vector* result, vector* distances, + virtual void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset = nullptr) const = 0; - virtual void get_nns_by_vector(const T* w, size_t n, int search_k, vector* result, vector* distances, + virtual void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset = nullptr) const = 0; virtual S get_n_items() const = 0; virtual S get_dim() const = 0; @@ -1172,14 +1172,14 @@ public: return D::normalized_distance(D::distance(_get(i), _get(j), _f)); } - void get_nns_by_item(S item, size_t n, int search_k, vector* result, vector* distances, + void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { // TODO: handle OOB const Node* m = _get(item); _get_all_nns(m->v, n, search_k, result, distances, bitset); } - void get_nns_by_vector(const T* w, size_t n, int search_k, vector* result, vector* distances, + void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { _get_all_nns(w, n, search_k, result, distances, bitset); } @@ -1327,7 +1327,7 @@ protected: return item; } - void _get_all_nns(const T* v, size_t n, int search_k, vector* result, vector* distances, + void _get_all_nns(const T* v, size_t n, int64_t search_k, vector* result, vector* distances, faiss::ConcurrentBitsetPtr& bitset) const { Node* v_node = (Node *)alloca(_s); D::template zero_value(v_node); @@ -1337,7 +1337,7 @@ protected: std::priority_queue > q; if (search_k <= 0) { - search_k = std::max(n * _roots.size(), (size_t )_n_items * 5 / 100); + search_k = std::max(int64_t(n * _roots.size()), int64_t(_n_items * 5 / 100)); } for (size_t i = 0; i < _roots.size(); i++) { From 618f7887b09fec62f997aa5c6b02fbb963557827 Mon Sep 17 00:00:00 2001 From: wscxyey <48882296+wscxyey@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:35:40 +0800 Subject: [PATCH 47/49] Update GItHub Action Workflow (#2112) Signed-off-by: wscxyey <48882296+wscxyey@users.noreply.github.com> --- .github/workflows/core.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 9abea7d272..41a6e3214d 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -47,6 +47,7 @@ jobs: shell: bash run: | docker-compose build ubuntu-core + docker rmi $(docker images | grep '' | awk '{print $3}') || exit 0 - name: Docker Run run: | docker-compose run --use-aliases -d db @@ -94,6 +95,7 @@ jobs: shell: bash run: | docker-compose build centos-core + docker rmi $(docker images | grep '' | awk '{print $3}') || exit 0 - name: Docker Run run: | docker-compose run --use-aliases -d db From 35f74c41c159286d0ab4cdf96309e0ee7dda7d55 Mon Sep 17 00:00:00 2001 From: bigsheeper <42060877+bigsheeper@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:40:49 +0800 Subject: [PATCH 48/49] fix jenkins (#2110) * fix jenkins Signed-off-by: bigsheeper <42060877+bigsheeper@users.noreply.github.com> * fix Signed-off-by: bigsheeper <42060877+bigsheeper@users.noreply.github.com> --- ci/jenkins/Jenkinsfile | 1 + ci/jenkins/step/singleDevNightlyTest.groovy | 4 ++-- ci/jenkins/step/singleDevTest.groovy | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ci/jenkins/Jenkinsfile b/ci/jenkins/Jenkinsfile index 3307a237fa..7163c207ed 100644 --- a/ci/jenkins/Jenkinsfile +++ b/ci/jenkins/Jenkinsfile @@ -30,6 +30,7 @@ pipeline { LOWER_BUILD_TYPE = params.BUILD_TYPE.toLowerCase() SEMVER = "${BRANCH_NAME.contains('/') ? BRANCH_NAME.substring(BRANCH_NAME.lastIndexOf('/') + 1) : BRANCH_NAME}" PIPELINE_NAME = "milvus-ci" + HELM_BRANCH = "master" } stages { diff --git a/ci/jenkins/step/singleDevNightlyTest.groovy b/ci/jenkins/step/singleDevNightlyTest.groovy index 1866e1dee2..ee0200da0b 100644 --- a/ci/jenkins/step/singleDevNightlyTest.groovy +++ b/ci/jenkins/step/singleDevNightlyTest.groovy @@ -3,7 +3,7 @@ timeout(time: 180, unit: 'MINUTES') { sh 'helm version' sh 'helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts' sh 'helm repo update' - checkout([$class: 'GitSCM', branches: [[name: "master"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/master:refs/remotes/origin/master"]]]) + checkout([$class: 'GitSCM', branches: [[name: "${env.HELM_BRANCH}"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/${env.HELM_BRANCH}:refs/remotes/origin/${env.HELM_BRANCH}"]]]) retry(3) { sh "helm install --wait --timeout 300s --set image.repository=registry.zilliz.com/milvus/engine --set image.tag=${DOCKER_VERSION} --set image.pullPolicy=Always --set service.type=ClusterIP -f ci/db_backend/mysql_${BINARY_VERSION}_values.yaml -f ci/filebeat/values.yaml --namespace milvus ${env.HELM_RELEASE_NAME} ." } @@ -19,7 +19,7 @@ timeout(time: 180, unit: 'MINUTES') { if (!fileExists('milvus-helm')) { dir ("milvus-helm") { - checkout([$class: 'GitSCM', branches: [[name: "master"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/master:refs/remotes/origin/master"]]]) + checkout([$class: 'GitSCM', branches: [[name:"${env.HELM_BRANCH}"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/${env.HELM_BRANCH}:refs/remotes/origin/${env.HELM_BRANCH}"]]]) } } dir ("milvus-helm") { diff --git a/ci/jenkins/step/singleDevTest.groovy b/ci/jenkins/step/singleDevTest.groovy index c3a2371570..2139089458 100644 --- a/ci/jenkins/step/singleDevTest.groovy +++ b/ci/jenkins/step/singleDevTest.groovy @@ -3,7 +3,7 @@ timeout(time: 120, unit: 'MINUTES') { sh 'helm version' sh 'helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts' sh 'helm repo update' - checkout([$class: 'GitSCM', branches: [[name: "master"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/master:refs/remotes/origin/master"]]]) + checkout([$class: 'GitSCM', branches: [[name: "${env.HELM_BRANCH}"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/${env.HELM_BRANCH}:refs/remotes/origin/${env.HELM_BRANCH}"]]]) retry(3) { sh "helm install --wait --timeout 600s --set image.repository=registry.zilliz.com/milvus/engine --set image.tag=${DOCKER_VERSION} --set image.pullPolicy=Always --set service.type=ClusterIP -f ci/db_backend/mysql_${BINARY_VERSION}_values.yaml -f ci/filebeat/values.yaml --namespace milvus ${env.HELM_RELEASE_NAME} ." } From fc961658179fb4081213030c38e8f6af88b301ed Mon Sep 17 00:00:00 2001 From: del-zhenwu <56623710+del-zhenwu@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:56:52 +0800 Subject: [PATCH 49/49] Update case (#2113) Signed-off-by: zw --- tests/milvus_python_test/test_partition.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/milvus_python_test/test_partition.py b/tests/milvus_python_test/test_partition.py index aa37c3d412..5814a3b711 100644 --- a/tests/milvus_python_test/test_partition.py +++ b/tests/milvus_python_test/test_partition.py @@ -74,8 +74,8 @@ class TestCreateBase: expected: status ok ''' tag_name = None - status = connect.create_partition(collection, tag_name) - assert not status.OK() + with pytest.raises(Exception) as e: + status = connect.create_partition(collection, tag_name) def test_create_different_partition_tags(self, connect, collection): '''