mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
Support multi index
Signed-off-by: neza2017 <yefu.chen@zilliz.com>
This commit is contained in:
parent
90d471b133
commit
5de89422ed
@ -18,6 +18,7 @@
|
||||
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Address_common_2eproto;
|
||||
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_KeyValuePair_common_2eproto;
|
||||
extern PROTOBUF_INTERNAL_EXPORT_etcd_5fmeta_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FieldBinlogFiles_etcd_5fmeta_2eproto;
|
||||
extern PROTOBUF_INTERNAL_EXPORT_etcd_5fmeta_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_IndexParamsInfo_etcd_5fmeta_2eproto;
|
||||
extern PROTOBUF_INTERNAL_EXPORT_schema_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionSchema_schema_2eproto;
|
||||
namespace milvus {
|
||||
namespace proto {
|
||||
@ -34,6 +35,10 @@ class PartitionInfoDefaultTypeInternal {
|
||||
public:
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartitionInfo> _instance;
|
||||
} _PartitionInfo_default_instance_;
|
||||
class IndexParamsInfoDefaultTypeInternal {
|
||||
public:
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IndexParamsInfo> _instance;
|
||||
} _IndexParamsInfo_default_instance_;
|
||||
class CollectionInfoDefaultTypeInternal {
|
||||
public:
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CollectionInfo> _instance;
|
||||
@ -76,9 +81,10 @@ static void InitDefaultsscc_info_CollectionInfo_etcd_5fmeta_2eproto() {
|
||||
::milvus::proto::etcd::CollectionInfo::InitAsDefaultInstance();
|
||||
}
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CollectionInfo_etcd_5fmeta_2eproto =
|
||||
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_CollectionInfo_etcd_5fmeta_2eproto}, {
|
||||
&scc_info_CollectionSchema_schema_2eproto.base,}};
|
||||
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_CollectionInfo_etcd_5fmeta_2eproto =
|
||||
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_CollectionInfo_etcd_5fmeta_2eproto}, {
|
||||
&scc_info_CollectionSchema_schema_2eproto.base,
|
||||
&scc_info_IndexParamsInfo_etcd_5fmeta_2eproto.base,}};
|
||||
|
||||
static void InitDefaultsscc_info_CollectionMeta_etcd_5fmeta_2eproto() {
|
||||
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
||||
@ -139,6 +145,21 @@ static void InitDefaultsscc_info_IndexInfo_etcd_5fmeta_2eproto() {
|
||||
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_IndexInfo_etcd_5fmeta_2eproto}, {
|
||||
&scc_info_KeyValuePair_common_2eproto.base,}};
|
||||
|
||||
static void InitDefaultsscc_info_IndexParamsInfo_etcd_5fmeta_2eproto() {
|
||||
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
||||
|
||||
{
|
||||
void* ptr = &::milvus::proto::etcd::_IndexParamsInfo_default_instance_;
|
||||
new (ptr) ::milvus::proto::etcd::IndexParamsInfo();
|
||||
::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
|
||||
}
|
||||
::milvus::proto::etcd::IndexParamsInfo::InitAsDefaultInstance();
|
||||
}
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_IndexParamsInfo_etcd_5fmeta_2eproto =
|
||||
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_IndexParamsInfo_etcd_5fmeta_2eproto}, {
|
||||
&scc_info_KeyValuePair_common_2eproto.base,}};
|
||||
|
||||
static void InitDefaultsscc_info_PartitionInfo_etcd_5fmeta_2eproto() {
|
||||
GOOGLE_PROTOBUF_VERIFY_VERSION;
|
||||
|
||||
@ -211,7 +232,7 @@ static void InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TenantMeta_etcd_5fmeta_2eproto =
|
||||
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_TenantMeta_etcd_5fmeta_2eproto}, {}};
|
||||
|
||||
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_etcd_5fmeta_2eproto[10];
|
||||
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_etcd_5fmeta_2eproto[11];
|
||||
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_etcd_5fmeta_2eproto = nullptr;
|
||||
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_etcd_5fmeta_2eproto = nullptr;
|
||||
|
||||
@ -242,6 +263,13 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_etcd_5fmeta_2eproto::offsets[]
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::PartitionInfo, partitionid_),
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::PartitionInfo, segmentids_),
|
||||
~0u, // no _has_bits_
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexParamsInfo, _internal_metadata_),
|
||||
~0u, // no _extensions_
|
||||
~0u, // no _oneof_case_
|
||||
~0u, // no _weak_field_map_
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexParamsInfo, filedid_),
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexParamsInfo, index_params_),
|
||||
~0u, // no _has_bits_
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, _internal_metadata_),
|
||||
~0u, // no _extensions_
|
||||
~0u, // no _oneof_case_
|
||||
@ -250,6 +278,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_etcd_5fmeta_2eproto::offsets[]
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, schema_),
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, create_time_),
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, partitionids_),
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::CollectionInfo, index_params_),
|
||||
~0u, // no _has_bits_
|
||||
PROTOBUF_FIELD_OFFSET(::milvus::proto::etcd::IndexInfo, _internal_metadata_),
|
||||
~0u, // no _extensions_
|
||||
@ -316,19 +345,21 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
|
||||
{ 0, -1, sizeof(::milvus::proto::etcd::TenantMeta)},
|
||||
{ 9, -1, sizeof(::milvus::proto::etcd::ProxyMeta)},
|
||||
{ 17, -1, sizeof(::milvus::proto::etcd::PartitionInfo)},
|
||||
{ 25, -1, sizeof(::milvus::proto::etcd::CollectionInfo)},
|
||||
{ 34, -1, sizeof(::milvus::proto::etcd::IndexInfo)},
|
||||
{ 42, -1, sizeof(::milvus::proto::etcd::SegmentIndexInfo)},
|
||||
{ 51, -1, sizeof(::milvus::proto::etcd::CollectionMeta)},
|
||||
{ 62, -1, sizeof(::milvus::proto::etcd::FieldBinlogFiles)},
|
||||
{ 69, -1, sizeof(::milvus::proto::etcd::SegmentMeta)},
|
||||
{ 84, -1, sizeof(::milvus::proto::etcd::FieldIndexMeta)},
|
||||
{ 25, -1, sizeof(::milvus::proto::etcd::IndexParamsInfo)},
|
||||
{ 32, -1, sizeof(::milvus::proto::etcd::CollectionInfo)},
|
||||
{ 42, -1, sizeof(::milvus::proto::etcd::IndexInfo)},
|
||||
{ 50, -1, sizeof(::milvus::proto::etcd::SegmentIndexInfo)},
|
||||
{ 59, -1, sizeof(::milvus::proto::etcd::CollectionMeta)},
|
||||
{ 70, -1, sizeof(::milvus::proto::etcd::FieldBinlogFiles)},
|
||||
{ 77, -1, sizeof(::milvus::proto::etcd::SegmentMeta)},
|
||||
{ 92, -1, sizeof(::milvus::proto::etcd::FieldIndexMeta)},
|
||||
};
|
||||
|
||||
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_TenantMeta_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_ProxyMeta_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_PartitionInfo_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_IndexParamsInfo_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_CollectionInfo_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_IndexInfo_default_instance_),
|
||||
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::etcd::_SegmentIndexInfo_default_instance_),
|
||||
@ -347,46 +378,50 @@ const char descriptor_table_protodef_etcd_5fmeta_2eproto[] PROTOBUF_SECTION_VARI
|
||||
"ess\030\002 \001(\0132\034.milvus.proto.common.Address\022"
|
||||
"\031\n\021result_channelIDs\030\003 \003(\t\"P\n\rPartitionI"
|
||||
"nfo\022\026\n\016partition_name\030\001 \001(\t\022\023\n\013partition"
|
||||
"ID\030\002 \001(\003\022\022\n\nsegmentIDs\030\003 \003(\003\"~\n\016Collecti"
|
||||
"onInfo\022\n\n\002ID\030\001 \001(\003\0225\n\006schema\030\002 \001(\0132%.mil"
|
||||
"vus.proto.schema.CollectionSchema\022\023\n\013cre"
|
||||
"ate_time\030\003 \001(\004\022\024\n\014partitionIDs\030\004 \003(\003\"i\n\t"
|
||||
"IndexInfo\022\022\n\nindex_name\030\001 \001(\t\022\017\n\007indexID"
|
||||
"\030\002 \001(\003\0227\n\014index_params\030\003 \003(\0132!.milvus.pr"
|
||||
"oto.common.KeyValuePair\"X\n\020SegmentIndexI"
|
||||
"nfo\022\021\n\tsegmentID\030\001 \001(\003\022\017\n\007fieldID\030\002 \001(\003\022"
|
||||
"\017\n\007indexID\030\003 \001(\003\022\017\n\007buildID\030\004 \001(\003\"\252\001\n\016Co"
|
||||
"llectionMeta\022\n\n\002ID\030\001 \001(\003\0225\n\006schema\030\002 \001(\013"
|
||||
"2%.milvus.proto.schema.CollectionSchema\022"
|
||||
"\023\n\013create_time\030\003 \001(\004\022\022\n\nsegmentIDs\030\004 \003(\003"
|
||||
"\022\026\n\016partition_tags\030\005 \003(\t\022\024\n\014partitionIDs"
|
||||
"\030\006 \003(\003\"9\n\020FieldBinlogFiles\022\017\n\007fieldID\030\001 "
|
||||
"\001(\003\022\024\n\014binlog_files\030\002 \003(\t\"\204\002\n\013SegmentMet"
|
||||
"a\022\021\n\tsegmentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001"
|
||||
"(\003\022\025\n\rpartition_tag\030\003 \001(\t\022\025\n\rchannel_sta"
|
||||
"rt\030\004 \001(\005\022\023\n\013channel_end\030\005 \001(\005\022\021\n\topen_ti"
|
||||
"me\030\006 \001(\004\022\022\n\nclose_time\030\007 \001(\004\022\020\n\010num_rows"
|
||||
"\030\010 \001(\003\022\020\n\010mem_size\030\t \001(\003\022>\n\021binlog_file_"
|
||||
"paths\030\n \003(\0132#.milvus.proto.etcd.FieldBin"
|
||||
"logFiles\"\310\001\n\016FieldIndexMeta\022\021\n\tsegmentID"
|
||||
"\030\001 \001(\003\022\017\n\007fieldID\030\002 \001(\003\022\017\n\007indexID\030\003 \001(\003"
|
||||
"\0227\n\014index_params\030\004 \003(\0132!.milvus.proto.co"
|
||||
"mmon.KeyValuePair\022.\n\005state\030\005 \001(\0162\037.milvu"
|
||||
"s.proto.common.IndexState\022\030\n\020index_file_"
|
||||
"paths\030\006 \003(\tB@Z>github.com/zilliztech/mil"
|
||||
"vus-distributed/internal/proto/etcdpbb\006p"
|
||||
"roto3"
|
||||
"ID\030\002 \001(\003\022\022\n\nsegmentIDs\030\003 \003(\003\"[\n\017IndexPar"
|
||||
"amsInfo\022\017\n\007filedID\030\001 \001(\003\0227\n\014index_params"
|
||||
"\030\002 \003(\0132!.milvus.proto.common.KeyValuePai"
|
||||
"r\"\270\001\n\016CollectionInfo\022\n\n\002ID\030\001 \001(\003\0225\n\006sche"
|
||||
"ma\030\002 \001(\0132%.milvus.proto.schema.Collectio"
|
||||
"nSchema\022\023\n\013create_time\030\003 \001(\004\022\024\n\014partitio"
|
||||
"nIDs\030\004 \003(\003\0228\n\014index_params\030\005 \003(\0132\".milvu"
|
||||
"s.proto.etcd.IndexParamsInfo\"i\n\tIndexInf"
|
||||
"o\022\022\n\nindex_name\030\001 \001(\t\022\017\n\007indexID\030\002 \001(\003\0227"
|
||||
"\n\014index_params\030\003 \003(\0132!.milvus.proto.comm"
|
||||
"on.KeyValuePair\"X\n\020SegmentIndexInfo\022\021\n\ts"
|
||||
"egmentID\030\001 \001(\003\022\017\n\007fieldID\030\002 \001(\003\022\017\n\007index"
|
||||
"ID\030\003 \001(\003\022\017\n\007buildID\030\004 \001(\003\"\252\001\n\016Collection"
|
||||
"Meta\022\n\n\002ID\030\001 \001(\003\0225\n\006schema\030\002 \001(\0132%.milvu"
|
||||
"s.proto.schema.CollectionSchema\022\023\n\013creat"
|
||||
"e_time\030\003 \001(\004\022\022\n\nsegmentIDs\030\004 \003(\003\022\026\n\016part"
|
||||
"ition_tags\030\005 \003(\t\022\024\n\014partitionIDs\030\006 \003(\003\"9"
|
||||
"\n\020FieldBinlogFiles\022\017\n\007fieldID\030\001 \001(\003\022\024\n\014b"
|
||||
"inlog_files\030\002 \003(\t\"\204\002\n\013SegmentMeta\022\021\n\tseg"
|
||||
"mentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\025\n\rpa"
|
||||
"rtition_tag\030\003 \001(\t\022\025\n\rchannel_start\030\004 \001(\005"
|
||||
"\022\023\n\013channel_end\030\005 \001(\005\022\021\n\topen_time\030\006 \001(\004"
|
||||
"\022\022\n\nclose_time\030\007 \001(\004\022\020\n\010num_rows\030\010 \001(\003\022\020"
|
||||
"\n\010mem_size\030\t \001(\003\022>\n\021binlog_file_paths\030\n "
|
||||
"\003(\0132#.milvus.proto.etcd.FieldBinlogFiles"
|
||||
"\"\310\001\n\016FieldIndexMeta\022\021\n\tsegmentID\030\001 \001(\003\022\017"
|
||||
"\n\007fieldID\030\002 \001(\003\022\017\n\007indexID\030\003 \001(\003\0227\n\014inde"
|
||||
"x_params\030\004 \003(\0132!.milvus.proto.common.Key"
|
||||
"ValuePair\022.\n\005state\030\005 \001(\0162\037.milvus.proto."
|
||||
"common.IndexState\022\030\n\020index_file_paths\030\006 "
|
||||
"\003(\tB@Z>github.com/zilliztech/milvus-dist"
|
||||
"ributed/internal/proto/etcdpbb\006proto3"
|
||||
;
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_etcd_5fmeta_2eproto_deps[2] = {
|
||||
&::descriptor_table_common_2eproto,
|
||||
&::descriptor_table_schema_2eproto,
|
||||
};
|
||||
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_etcd_5fmeta_2eproto_sccs[10] = {
|
||||
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_etcd_5fmeta_2eproto_sccs[11] = {
|
||||
&scc_info_CollectionInfo_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_CollectionMeta_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_FieldBinlogFiles_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_FieldIndexMeta_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_IndexInfo_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_IndexParamsInfo_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_PartitionInfo_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_ProxyMeta_etcd_5fmeta_2eproto.base,
|
||||
&scc_info_SegmentIndexInfo_etcd_5fmeta_2eproto.base,
|
||||
@ -396,10 +431,10 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_etc
|
||||
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_etcd_5fmeta_2eproto_once;
|
||||
static bool descriptor_table_etcd_5fmeta_2eproto_initialized = false;
|
||||
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_etcd_5fmeta_2eproto = {
|
||||
&descriptor_table_etcd_5fmeta_2eproto_initialized, descriptor_table_protodef_etcd_5fmeta_2eproto, "etcd_meta.proto", 1445,
|
||||
&descriptor_table_etcd_5fmeta_2eproto_once, descriptor_table_etcd_5fmeta_2eproto_sccs, descriptor_table_etcd_5fmeta_2eproto_deps, 10, 2,
|
||||
&descriptor_table_etcd_5fmeta_2eproto_initialized, descriptor_table_protodef_etcd_5fmeta_2eproto, "etcd_meta.proto", 1597,
|
||||
&descriptor_table_etcd_5fmeta_2eproto_once, descriptor_table_etcd_5fmeta_2eproto_sccs, descriptor_table_etcd_5fmeta_2eproto_deps, 11, 2,
|
||||
schemas, file_default_instances, TableStruct_etcd_5fmeta_2eproto::offsets,
|
||||
file_level_metadata_etcd_5fmeta_2eproto, 10, file_level_enum_descriptors_etcd_5fmeta_2eproto, file_level_service_descriptors_etcd_5fmeta_2eproto,
|
||||
file_level_metadata_etcd_5fmeta_2eproto, 11, file_level_enum_descriptors_etcd_5fmeta_2eproto, file_level_service_descriptors_etcd_5fmeta_2eproto,
|
||||
};
|
||||
|
||||
// Force running AddDescriptors() at dynamic initialization time.
|
||||
@ -1587,6 +1622,314 @@ void PartitionInfo::InternalSwap(PartitionInfo* other) {
|
||||
}
|
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
void IndexParamsInfo::InitAsDefaultInstance() {
|
||||
}
|
||||
class IndexParamsInfo::_Internal {
|
||||
public:
|
||||
};
|
||||
|
||||
void IndexParamsInfo::clear_index_params() {
|
||||
index_params_.Clear();
|
||||
}
|
||||
IndexParamsInfo::IndexParamsInfo()
|
||||
: ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
|
||||
SharedCtor();
|
||||
// @@protoc_insertion_point(constructor:milvus.proto.etcd.IndexParamsInfo)
|
||||
}
|
||||
IndexParamsInfo::IndexParamsInfo(const IndexParamsInfo& from)
|
||||
: ::PROTOBUF_NAMESPACE_ID::Message(),
|
||||
_internal_metadata_(nullptr),
|
||||
index_params_(from.index_params_) {
|
||||
_internal_metadata_.MergeFrom(from._internal_metadata_);
|
||||
filedid_ = from.filedid_;
|
||||
// @@protoc_insertion_point(copy_constructor:milvus.proto.etcd.IndexParamsInfo)
|
||||
}
|
||||
|
||||
void IndexParamsInfo::SharedCtor() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_IndexParamsInfo_etcd_5fmeta_2eproto.base);
|
||||
filedid_ = PROTOBUF_LONGLONG(0);
|
||||
}
|
||||
|
||||
IndexParamsInfo::~IndexParamsInfo() {
|
||||
// @@protoc_insertion_point(destructor:milvus.proto.etcd.IndexParamsInfo)
|
||||
SharedDtor();
|
||||
}
|
||||
|
||||
void IndexParamsInfo::SharedDtor() {
|
||||
}
|
||||
|
||||
void IndexParamsInfo::SetCachedSize(int size) const {
|
||||
_cached_size_.Set(size);
|
||||
}
|
||||
const IndexParamsInfo& IndexParamsInfo::default_instance() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IndexParamsInfo_etcd_5fmeta_2eproto.base);
|
||||
return *internal_default_instance();
|
||||
}
|
||||
|
||||
|
||||
void IndexParamsInfo::Clear() {
|
||||
// @@protoc_insertion_point(message_clear_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
|
||||
// Prevent compiler warnings about cached_has_bits being unused
|
||||
(void) cached_has_bits;
|
||||
|
||||
index_params_.Clear();
|
||||
filedid_ = PROTOBUF_LONGLONG(0);
|
||||
_internal_metadata_.Clear();
|
||||
}
|
||||
|
||||
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
const char* IndexParamsInfo::_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) {
|
||||
// int64 filedID = 1;
|
||||
case 1:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
|
||||
filedid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
|
||||
CHK_(ptr);
|
||||
} else goto handle_unusual;
|
||||
continue;
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
case 2:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
|
||||
ptr -= 1;
|
||||
do {
|
||||
ptr += 1;
|
||||
ptr = ctx->ParseMessage(add_index_params(), 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: {
|
||||
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 IndexParamsInfo::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.proto.etcd.IndexParamsInfo)
|
||||
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)) {
|
||||
// int64 filedID = 1;
|
||||
case 1: {
|
||||
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {
|
||||
|
||||
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
|
||||
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
|
||||
input, &filedid_)));
|
||||
} else {
|
||||
goto handle_unusual;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
case 2: {
|
||||
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
|
||||
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
|
||||
input, add_index_params()));
|
||||
} 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.proto.etcd.IndexParamsInfo)
|
||||
return true;
|
||||
failure:
|
||||
// @@protoc_insertion_point(parse_failure:milvus.proto.etcd.IndexParamsInfo)
|
||||
return false;
|
||||
#undef DO_
|
||||
}
|
||||
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
|
||||
void IndexParamsInfo::SerializeWithCachedSizes(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
|
||||
// @@protoc_insertion_point(serialize_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
|
||||
(void) cached_has_bits;
|
||||
|
||||
// int64 filedID = 1;
|
||||
if (this->filedid() != 0) {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(1, this->filedid(), output);
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
2,
|
||||
this->index_params(static_cast<int>(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.proto.etcd.IndexParamsInfo)
|
||||
}
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* IndexParamsInfo::InternalSerializeWithCachedSizesToArray(
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* target) const {
|
||||
// @@protoc_insertion_point(serialize_to_array_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
|
||||
(void) cached_has_bits;
|
||||
|
||||
// int64 filedID = 1;
|
||||
if (this->filedid() != 0) {
|
||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->filedid(), target);
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
|
||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||
InternalWriteMessageToArray(
|
||||
2, this->index_params(static_cast<int>(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.proto.etcd.IndexParamsInfo)
|
||||
return target;
|
||||
}
|
||||
|
||||
size_t IndexParamsInfo::ByteSizeLong() const {
|
||||
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
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.proto.common.KeyValuePair index_params = 2;
|
||||
{
|
||||
unsigned int count = static_cast<unsigned int>(this->index_params_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||
this->index_params(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
// int64 filedID = 1;
|
||||
if (this->filedid() != 0) {
|
||||
total_size += 1 +
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
|
||||
this->filedid());
|
||||
}
|
||||
|
||||
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
|
||||
SetCachedSize(cached_size);
|
||||
return total_size;
|
||||
}
|
||||
|
||||
void IndexParamsInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
|
||||
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
GOOGLE_DCHECK_NE(&from, this);
|
||||
const IndexParamsInfo* source =
|
||||
::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IndexParamsInfo>(
|
||||
&from);
|
||||
if (source == nullptr) {
|
||||
// @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.etcd.IndexParamsInfo)
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
|
||||
} else {
|
||||
// @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.etcd.IndexParamsInfo)
|
||||
MergeFrom(*source);
|
||||
}
|
||||
}
|
||||
|
||||
void IndexParamsInfo::MergeFrom(const IndexParamsInfo& from) {
|
||||
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
GOOGLE_DCHECK_NE(&from, this);
|
||||
_internal_metadata_.MergeFrom(from._internal_metadata_);
|
||||
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
|
||||
(void) cached_has_bits;
|
||||
|
||||
index_params_.MergeFrom(from.index_params_);
|
||||
if (from.filedid() != 0) {
|
||||
set_filedid(from.filedid());
|
||||
}
|
||||
}
|
||||
|
||||
void IndexParamsInfo::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
|
||||
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
if (&from == this) return;
|
||||
Clear();
|
||||
MergeFrom(from);
|
||||
}
|
||||
|
||||
void IndexParamsInfo::CopyFrom(const IndexParamsInfo& from) {
|
||||
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.etcd.IndexParamsInfo)
|
||||
if (&from == this) return;
|
||||
Clear();
|
||||
MergeFrom(from);
|
||||
}
|
||||
|
||||
bool IndexParamsInfo::IsInitialized() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
void IndexParamsInfo::InternalSwap(IndexParamsInfo* other) {
|
||||
using std::swap;
|
||||
_internal_metadata_.Swap(&other->_internal_metadata_);
|
||||
CastToBase(&index_params_)->InternalSwap(CastToBase(&other->index_params_));
|
||||
swap(filedid_, other->filedid_);
|
||||
}
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::Metadata IndexParamsInfo::GetMetadata() const {
|
||||
return GetMetadataStatic();
|
||||
}
|
||||
|
||||
|
||||
// ===================================================================
|
||||
|
||||
void CollectionInfo::InitAsDefaultInstance() {
|
||||
@ -1616,7 +1959,8 @@ CollectionInfo::CollectionInfo()
|
||||
CollectionInfo::CollectionInfo(const CollectionInfo& from)
|
||||
: ::PROTOBUF_NAMESPACE_ID::Message(),
|
||||
_internal_metadata_(nullptr),
|
||||
partitionids_(from.partitionids_) {
|
||||
partitionids_(from.partitionids_),
|
||||
index_params_(from.index_params_) {
|
||||
_internal_metadata_.MergeFrom(from._internal_metadata_);
|
||||
if (from.has_schema()) {
|
||||
schema_ = new ::milvus::proto::schema::CollectionSchema(*from.schema_);
|
||||
@ -1661,6 +2005,7 @@ void CollectionInfo::Clear() {
|
||||
(void) cached_has_bits;
|
||||
|
||||
partitionids_.Clear();
|
||||
index_params_.Clear();
|
||||
if (GetArenaNoVirtual() == nullptr && schema_ != nullptr) {
|
||||
delete schema_;
|
||||
}
|
||||
@ -1710,6 +2055,18 @@ const char* CollectionInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE
|
||||
CHK_(ptr);
|
||||
} else goto handle_unusual;
|
||||
continue;
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_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_index_params(), ptr);
|
||||
CHK_(ptr);
|
||||
if (!ctx->DataAvailable(ptr)) break;
|
||||
} while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
|
||||
} else goto handle_unusual;
|
||||
continue;
|
||||
default: {
|
||||
handle_unusual:
|
||||
if ((tag & 7) == 4 || tag == 0) {
|
||||
@ -1793,6 +2150,17 @@ bool CollectionInfo::MergePartialFromCodedStream(
|
||||
break;
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
case 5: {
|
||||
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
|
||||
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
|
||||
input, add_index_params()));
|
||||
} else {
|
||||
goto handle_unusual;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
handle_unusual:
|
||||
if (tag == 0) {
|
||||
@ -1847,6 +2215,15 @@ void CollectionInfo::SerializeWithCachedSizes(
|
||||
this->partitionids(i), output);
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
5,
|
||||
this->index_params(static_cast<int>(i)),
|
||||
output);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
|
||||
_internal_metadata_.unknown_fields(), output);
|
||||
@ -1890,6 +2267,14 @@ void CollectionInfo::SerializeWithCachedSizes(
|
||||
WriteInt64NoTagToArray(this->partitionids_, target);
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->index_params_size()); i < n; i++) {
|
||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||
InternalWriteMessageToArray(
|
||||
5, this->index_params(static_cast<int>(i)), target);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
|
||||
_internal_metadata_.unknown_fields(), target);
|
||||
@ -1926,6 +2311,17 @@ size_t CollectionInfo::ByteSizeLong() const {
|
||||
total_size += data_size;
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
{
|
||||
unsigned int count = static_cast<unsigned int>(this->index_params_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||
this->index_params(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
// .milvus.proto.schema.CollectionSchema schema = 2;
|
||||
if (this->has_schema()) {
|
||||
total_size += 1 +
|
||||
@ -1975,6 +2371,7 @@ void CollectionInfo::MergeFrom(const CollectionInfo& from) {
|
||||
(void) cached_has_bits;
|
||||
|
||||
partitionids_.MergeFrom(from.partitionids_);
|
||||
index_params_.MergeFrom(from.index_params_);
|
||||
if (from.has_schema()) {
|
||||
mutable_schema()->::milvus::proto::schema::CollectionSchema::MergeFrom(from.schema());
|
||||
}
|
||||
@ -2008,6 +2405,7 @@ void CollectionInfo::InternalSwap(CollectionInfo* other) {
|
||||
using std::swap;
|
||||
_internal_metadata_.Swap(&other->_internal_metadata_);
|
||||
partitionids_.InternalSwap(&other->partitionids_);
|
||||
CastToBase(&index_params_)->InternalSwap(CastToBase(&other->index_params_));
|
||||
swap(schema_, other->schema_);
|
||||
swap(id_, other->id_);
|
||||
swap(create_time_, other->create_time_);
|
||||
@ -4812,6 +5210,9 @@ template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::ProxyMeta* Arena::CreateMayb
|
||||
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::PartitionInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::PartitionInfo >(Arena* arena) {
|
||||
return Arena::CreateInternal< ::milvus::proto::etcd::PartitionInfo >(arena);
|
||||
}
|
||||
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::IndexParamsInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::IndexParamsInfo >(Arena* arena) {
|
||||
return Arena::CreateInternal< ::milvus::proto::etcd::IndexParamsInfo >(arena);
|
||||
}
|
||||
template<> PROTOBUF_NOINLINE ::milvus::proto::etcd::CollectionInfo* Arena::CreateMaybeMessage< ::milvus::proto::etcd::CollectionInfo >(Arena* arena) {
|
||||
return Arena::CreateInternal< ::milvus::proto::etcd::CollectionInfo >(arena);
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ struct TableStruct_etcd_5fmeta_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[10]
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[11]
|
||||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
|
||||
@ -74,6 +74,9 @@ extern FieldIndexMetaDefaultTypeInternal _FieldIndexMeta_default_instance_;
|
||||
class IndexInfo;
|
||||
class IndexInfoDefaultTypeInternal;
|
||||
extern IndexInfoDefaultTypeInternal _IndexInfo_default_instance_;
|
||||
class IndexParamsInfo;
|
||||
class IndexParamsInfoDefaultTypeInternal;
|
||||
extern IndexParamsInfoDefaultTypeInternal _IndexParamsInfo_default_instance_;
|
||||
class PartitionInfo;
|
||||
class PartitionInfoDefaultTypeInternal;
|
||||
extern PartitionInfoDefaultTypeInternal _PartitionInfo_default_instance_;
|
||||
@ -98,6 +101,7 @@ template<> ::milvus::proto::etcd::CollectionMeta* Arena::CreateMaybeMessage<::mi
|
||||
template<> ::milvus::proto::etcd::FieldBinlogFiles* Arena::CreateMaybeMessage<::milvus::proto::etcd::FieldBinlogFiles>(Arena*);
|
||||
template<> ::milvus::proto::etcd::FieldIndexMeta* Arena::CreateMaybeMessage<::milvus::proto::etcd::FieldIndexMeta>(Arena*);
|
||||
template<> ::milvus::proto::etcd::IndexInfo* Arena::CreateMaybeMessage<::milvus::proto::etcd::IndexInfo>(Arena*);
|
||||
template<> ::milvus::proto::etcd::IndexParamsInfo* Arena::CreateMaybeMessage<::milvus::proto::etcd::IndexParamsInfo>(Arena*);
|
||||
template<> ::milvus::proto::etcd::PartitionInfo* Arena::CreateMaybeMessage<::milvus::proto::etcd::PartitionInfo>(Arena*);
|
||||
template<> ::milvus::proto::etcd::ProxyMeta* Arena::CreateMaybeMessage<::milvus::proto::etcd::ProxyMeta>(Arena*);
|
||||
template<> ::milvus::proto::etcd::SegmentIndexInfo* Arena::CreateMaybeMessage<::milvus::proto::etcd::SegmentIndexInfo>(Arena*);
|
||||
@ -598,6 +602,150 @@ class PartitionInfo :
|
||||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class IndexParamsInfo :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.etcd.IndexParamsInfo) */ {
|
||||
public:
|
||||
IndexParamsInfo();
|
||||
virtual ~IndexParamsInfo();
|
||||
|
||||
IndexParamsInfo(const IndexParamsInfo& from);
|
||||
IndexParamsInfo(IndexParamsInfo&& from) noexcept
|
||||
: IndexParamsInfo() {
|
||||
*this = ::std::move(from);
|
||||
}
|
||||
|
||||
inline IndexParamsInfo& operator=(const IndexParamsInfo& from) {
|
||||
CopyFrom(from);
|
||||
return *this;
|
||||
}
|
||||
inline IndexParamsInfo& operator=(IndexParamsInfo&& 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 IndexParamsInfo& default_instance();
|
||||
|
||||
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
|
||||
static inline const IndexParamsInfo* internal_default_instance() {
|
||||
return reinterpret_cast<const IndexParamsInfo*>(
|
||||
&_IndexParamsInfo_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
3;
|
||||
|
||||
friend void swap(IndexParamsInfo& a, IndexParamsInfo& b) {
|
||||
a.Swap(&b);
|
||||
}
|
||||
inline void Swap(IndexParamsInfo* other) {
|
||||
if (other == this) return;
|
||||
InternalSwap(other);
|
||||
}
|
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline IndexParamsInfo* New() const final {
|
||||
return CreateMaybeMessage<IndexParamsInfo>(nullptr);
|
||||
}
|
||||
|
||||
IndexParamsInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
|
||||
return CreateMaybeMessage<IndexParamsInfo>(arena);
|
||||
}
|
||||
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void CopyFrom(const IndexParamsInfo& from);
|
||||
void MergeFrom(const IndexParamsInfo& 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(IndexParamsInfo* other);
|
||||
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||
return "milvus.proto.etcd.IndexParamsInfo";
|
||||
}
|
||||
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_etcd_5fmeta_2eproto);
|
||||
return ::descriptor_table_etcd_5fmeta_2eproto.file_level_metadata[kIndexInFileMessages];
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kIndexParamsFieldNumber = 2,
|
||||
kFiledIDFieldNumber = 1,
|
||||
};
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
int index_params_size() const;
|
||||
void clear_index_params();
|
||||
::milvus::proto::common::KeyValuePair* mutable_index_params(int index);
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair >*
|
||||
mutable_index_params();
|
||||
const ::milvus::proto::common::KeyValuePair& index_params(int index) const;
|
||||
::milvus::proto::common::KeyValuePair* add_index_params();
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair >&
|
||||
index_params() const;
|
||||
|
||||
// int64 filedID = 1;
|
||||
void clear_filedid();
|
||||
::PROTOBUF_NAMESPACE_ID::int64 filedid() const;
|
||||
void set_filedid(::PROTOBUF_NAMESPACE_ID::int64 value);
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.etcd.IndexParamsInfo)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair > index_params_;
|
||||
::PROTOBUF_NAMESPACE_ID::int64 filedid_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_etcd_5fmeta_2eproto;
|
||||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class CollectionInfo :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.etcd.CollectionInfo) */ {
|
||||
public:
|
||||
@ -640,7 +788,7 @@ class CollectionInfo :
|
||||
&_CollectionInfo_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
3;
|
||||
4;
|
||||
|
||||
friend void swap(CollectionInfo& a, CollectionInfo& b) {
|
||||
a.Swap(&b);
|
||||
@ -712,6 +860,7 @@ class CollectionInfo :
|
||||
|
||||
enum : int {
|
||||
kPartitionIDsFieldNumber = 4,
|
||||
kIndexParamsFieldNumber = 5,
|
||||
kSchemaFieldNumber = 2,
|
||||
kIDFieldNumber = 1,
|
||||
kCreateTimeFieldNumber = 3,
|
||||
@ -727,6 +876,17 @@ class CollectionInfo :
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
|
||||
mutable_partitionids();
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
int index_params_size() const;
|
||||
void clear_index_params();
|
||||
::milvus::proto::etcd::IndexParamsInfo* mutable_index_params(int index);
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::etcd::IndexParamsInfo >*
|
||||
mutable_index_params();
|
||||
const ::milvus::proto::etcd::IndexParamsInfo& index_params(int index) const;
|
||||
::milvus::proto::etcd::IndexParamsInfo* add_index_params();
|
||||
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::etcd::IndexParamsInfo >&
|
||||
index_params() const;
|
||||
|
||||
// .milvus.proto.schema.CollectionSchema schema = 2;
|
||||
bool has_schema() const;
|
||||
void clear_schema();
|
||||
@ -752,6 +912,7 @@ class CollectionInfo :
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > partitionids_;
|
||||
mutable std::atomic<int> _partitionids_cached_byte_size_;
|
||||
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::etcd::IndexParamsInfo > index_params_;
|
||||
::milvus::proto::schema::CollectionSchema* schema_;
|
||||
::PROTOBUF_NAMESPACE_ID::int64 id_;
|
||||
::PROTOBUF_NAMESPACE_ID::uint64 create_time_;
|
||||
@ -802,7 +963,7 @@ class IndexInfo :
|
||||
&_IndexInfo_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
4;
|
||||
5;
|
||||
|
||||
friend void swap(IndexInfo& a, IndexInfo& b) {
|
||||
a.Swap(&b);
|
||||
@ -959,7 +1120,7 @@ class SegmentIndexInfo :
|
||||
&_SegmentIndexInfo_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
5;
|
||||
6;
|
||||
|
||||
friend void swap(SegmentIndexInfo& a, SegmentIndexInfo& b) {
|
||||
a.Swap(&b);
|
||||
@ -1111,7 +1272,7 @@ class CollectionMeta :
|
||||
&_CollectionMeta_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
6;
|
||||
7;
|
||||
|
||||
friend void swap(CollectionMeta& a, CollectionMeta& b) {
|
||||
a.Swap(&b);
|
||||
@ -1306,7 +1467,7 @@ class FieldBinlogFiles :
|
||||
&_FieldBinlogFiles_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
7;
|
||||
8;
|
||||
|
||||
friend void swap(FieldBinlogFiles& a, FieldBinlogFiles& b) {
|
||||
a.Swap(&b);
|
||||
@ -1456,7 +1617,7 @@ class SegmentMeta :
|
||||
&_SegmentMeta_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
8;
|
||||
9;
|
||||
|
||||
friend void swap(SegmentMeta& a, SegmentMeta& b) {
|
||||
a.Swap(&b);
|
||||
@ -1662,7 +1823,7 @@ class FieldIndexMeta :
|
||||
&_FieldIndexMeta_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
9;
|
||||
10;
|
||||
|
||||
friend void swap(FieldIndexMeta& a, FieldIndexMeta& b) {
|
||||
a.Swap(&b);
|
||||
@ -2186,6 +2347,51 @@ PartitionInfo::mutable_segmentids() {
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// IndexParamsInfo
|
||||
|
||||
// int64 filedID = 1;
|
||||
inline void IndexParamsInfo::clear_filedid() {
|
||||
filedid_ = PROTOBUF_LONGLONG(0);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::int64 IndexParamsInfo::filedid() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.etcd.IndexParamsInfo.filedID)
|
||||
return filedid_;
|
||||
}
|
||||
inline void IndexParamsInfo::set_filedid(::PROTOBUF_NAMESPACE_ID::int64 value) {
|
||||
|
||||
filedid_ = value;
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.etcd.IndexParamsInfo.filedID)
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.common.KeyValuePair index_params = 2;
|
||||
inline int IndexParamsInfo::index_params_size() const {
|
||||
return index_params_.size();
|
||||
}
|
||||
inline ::milvus::proto::common::KeyValuePair* IndexParamsInfo::mutable_index_params(int index) {
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.etcd.IndexParamsInfo.index_params)
|
||||
return index_params_.Mutable(index);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair >*
|
||||
IndexParamsInfo::mutable_index_params() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.etcd.IndexParamsInfo.index_params)
|
||||
return &index_params_;
|
||||
}
|
||||
inline const ::milvus::proto::common::KeyValuePair& IndexParamsInfo::index_params(int index) const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.etcd.IndexParamsInfo.index_params)
|
||||
return index_params_.Get(index);
|
||||
}
|
||||
inline ::milvus::proto::common::KeyValuePair* IndexParamsInfo::add_index_params() {
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.etcd.IndexParamsInfo.index_params)
|
||||
return index_params_.Add();
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair >&
|
||||
IndexParamsInfo::index_params() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.etcd.IndexParamsInfo.index_params)
|
||||
return index_params_;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// CollectionInfo
|
||||
|
||||
// int64 ID = 1;
|
||||
@ -2291,6 +2497,36 @@ CollectionInfo::mutable_partitionids() {
|
||||
return &partitionids_;
|
||||
}
|
||||
|
||||
// repeated .milvus.proto.etcd.IndexParamsInfo index_params = 5;
|
||||
inline int CollectionInfo::index_params_size() const {
|
||||
return index_params_.size();
|
||||
}
|
||||
inline void CollectionInfo::clear_index_params() {
|
||||
index_params_.Clear();
|
||||
}
|
||||
inline ::milvus::proto::etcd::IndexParamsInfo* CollectionInfo::mutable_index_params(int index) {
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.etcd.CollectionInfo.index_params)
|
||||
return index_params_.Mutable(index);
|
||||
}
|
||||
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::etcd::IndexParamsInfo >*
|
||||
CollectionInfo::mutable_index_params() {
|
||||
// @@protoc_insertion_point(field_mutable_list:milvus.proto.etcd.CollectionInfo.index_params)
|
||||
return &index_params_;
|
||||
}
|
||||
inline const ::milvus::proto::etcd::IndexParamsInfo& CollectionInfo::index_params(int index) const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.etcd.CollectionInfo.index_params)
|
||||
return index_params_.Get(index);
|
||||
}
|
||||
inline ::milvus::proto::etcd::IndexParamsInfo* CollectionInfo::add_index_params() {
|
||||
// @@protoc_insertion_point(field_add:milvus.proto.etcd.CollectionInfo.index_params)
|
||||
return index_params_.Add();
|
||||
}
|
||||
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::etcd::IndexParamsInfo >&
|
||||
CollectionInfo::index_params() const {
|
||||
// @@protoc_insertion_point(field_list:milvus.proto.etcd.CollectionInfo.index_params)
|
||||
return index_params_;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// IndexInfo
|
||||
@ -3102,6 +3338,8 @@ FieldIndexMeta::mutable_index_file_paths() {
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
|
||||
@ -136,7 +136,12 @@ func TestGrpcService(t *testing.T) {
|
||||
Description: "vector",
|
||||
DataType: schemapb.DataType_VECTOR_FLOAT,
|
||||
TypeParams: nil,
|
||||
IndexParams: nil,
|
||||
IndexParams: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: "ik1",
|
||||
Value: "iv1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -403,11 +408,23 @@ func TestGrpcService(t *testing.T) {
|
||||
DbName: "",
|
||||
CollectionName: "testColl",
|
||||
FieldName: "vector",
|
||||
ExtraParams: nil,
|
||||
ExtraParams: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: "ik1",
|
||||
Value: "iv1",
|
||||
},
|
||||
},
|
||||
}
|
||||
collMeta, err := core.MetaTable.GetCollectionByName("testColl")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(collMeta.IndexParams), 1)
|
||||
rsp, err := cli.CreateIndex(req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, rsp.ErrorCode, commonpb.ErrorCode_SUCCESS)
|
||||
collMeta, err = core.MetaTable.GetCollectionByName("testColl")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(collMeta.IndexParams), 1)
|
||||
|
||||
binlogLock.Lock()
|
||||
defer binlogLock.Unlock()
|
||||
assert.Equal(t, 3, len(binlogPathArray))
|
||||
@ -496,7 +513,7 @@ func TestGrpcService(t *testing.T) {
|
||||
assert.Equal(t, rsp.Status.ErrorCode, commonpb.ErrorCode_SUCCESS)
|
||||
assert.Equal(t, len(rsp.IndexDescriptions), 2)
|
||||
assert.Equal(t, rsp.IndexDescriptions[0].IndexName, cms.Params.DefaultIndexName)
|
||||
assert.Equal(t, rsp.IndexDescriptions[1].IndexName, "index_100")
|
||||
assert.Equal(t, rsp.IndexDescriptions[1].IndexName, "index_field_100_0")
|
||||
|
||||
})
|
||||
|
||||
|
||||
@ -5,7 +5,6 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
@ -359,19 +358,22 @@ func (c *Core) startSegmentFlushCompletedLoop() {
|
||||
if !ok {
|
||||
log.Printf("data node segment flush completed chan has colsed, exit loop")
|
||||
}
|
||||
fields, err := c.MetaTable.GetSegmentVectorFields(seg)
|
||||
coll, err := c.MetaTable.GetCollectionBySegmentID(seg)
|
||||
if err != nil {
|
||||
log.Printf("GetSegmentVectorFields, error = %s ", err.Error())
|
||||
log.Printf("GetCollectionBySegmentID, error = %s ", err.Error())
|
||||
}
|
||||
for _, f := range fields {
|
||||
t := &CreateIndexTask{
|
||||
core: c,
|
||||
segmentID: seg,
|
||||
indexName: "index_" + strconv.FormatInt(f.FieldID, 10),
|
||||
fieldSchema: f,
|
||||
indexParams: nil,
|
||||
for i, f := range coll.IndexParams {
|
||||
fieldSch, err := GetFieldSchemaByID(coll, f.FiledID)
|
||||
if err == nil {
|
||||
t := &CreateIndexTask{
|
||||
core: c,
|
||||
segmentID: seg,
|
||||
indexName: fmt.Sprintf("index_field_%d_%d", f.FiledID, i),
|
||||
fieldSchema: fieldSch,
|
||||
indexParams: nil,
|
||||
}
|
||||
c.indexTaskQueue <- t
|
||||
}
|
||||
c.indexTaskQueue <- t
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +220,12 @@ func TestMasterService(t *testing.T) {
|
||||
Description: "vector",
|
||||
DataType: schemapb.DataType_VECTOR_FLOAT,
|
||||
TypeParams: nil,
|
||||
IndexParams: nil,
|
||||
IndexParams: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: "ik1",
|
||||
Value: "iv1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -511,8 +516,17 @@ func TestMasterService(t *testing.T) {
|
||||
DbName: "",
|
||||
CollectionName: "testColl",
|
||||
FieldName: "vector",
|
||||
ExtraParams: nil,
|
||||
ExtraParams: []*commonpb.KeyValuePair{
|
||||
{
|
||||
Key: "ik2",
|
||||
Value: "iv2",
|
||||
},
|
||||
},
|
||||
}
|
||||
collMeta, err := core.MetaTable.GetCollectionByName("testColl")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(collMeta.IndexParams), 1)
|
||||
|
||||
rsp, err := core.CreateIndex(req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, rsp.ErrorCode, commonpb.ErrorCode_SUCCESS)
|
||||
@ -520,6 +534,9 @@ func TestMasterService(t *testing.T) {
|
||||
files := im.getFileArray()
|
||||
assert.Equal(t, 3, len(files))
|
||||
assert.ElementsMatch(t, files, []string{"file0-100", "file1-100", "file2-100"})
|
||||
collMeta, err = core.MetaTable.GetCollectionByName("testColl")
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(collMeta.IndexParams), 2)
|
||||
|
||||
req.FieldName = "no field"
|
||||
rsp, err = core.CreateIndex(req)
|
||||
@ -640,10 +657,10 @@ func TestMasterService(t *testing.T) {
|
||||
rsp, err := core.DescribeIndex(req)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, rsp.Status.ErrorCode, commonpb.ErrorCode_SUCCESS)
|
||||
assert.Equal(t, len(rsp.IndexDescriptions), 2)
|
||||
assert.Equal(t, len(rsp.IndexDescriptions), 3)
|
||||
assert.Equal(t, rsp.IndexDescriptions[0].IndexName, Params.DefaultIndexName)
|
||||
assert.Equal(t, rsp.IndexDescriptions[1].IndexName, "index_100")
|
||||
|
||||
assert.Equal(t, rsp.IndexDescriptions[1].IndexName, "index_field_100_0")
|
||||
assert.Equal(t, rsp.IndexDescriptions[2].IndexName, "index_field_100_1")
|
||||
})
|
||||
|
||||
t.Run("drop partition", func(t *testing.T) {
|
||||
|
||||
@ -262,30 +262,49 @@ func (mt *metaTable) HasCollection(collID typeutil.UniqueID) bool {
|
||||
return ok
|
||||
}
|
||||
|
||||
func (mt *metaTable) GetCollectionByID(collectionID typeutil.UniqueID) (pb.CollectionInfo, error) {
|
||||
func (mt *metaTable) GetCollectionByID(collectionID typeutil.UniqueID) (*pb.CollectionInfo, error) {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
|
||||
col, ok := mt.collID2Meta[collectionID]
|
||||
if !ok {
|
||||
return pb.CollectionInfo{}, errors.Errorf("can't find collection id : %d", collectionID)
|
||||
return nil, errors.Errorf("can't find collection id : %d", collectionID)
|
||||
}
|
||||
return col, nil
|
||||
colCopy := proto.Clone(&col)
|
||||
|
||||
return colCopy.(*pb.CollectionInfo), nil
|
||||
}
|
||||
|
||||
func (mt *metaTable) GetCollectionByName(collectionName string) (pb.CollectionInfo, error) {
|
||||
func (mt *metaTable) GetCollectionByName(collectionName string) (*pb.CollectionInfo, error) {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
|
||||
vid, ok := mt.collName2ID[collectionName]
|
||||
if !ok {
|
||||
return pb.CollectionInfo{}, errors.Errorf("can't find collection: " + collectionName)
|
||||
return nil, errors.Errorf("can't find collection: " + collectionName)
|
||||
}
|
||||
col, ok := mt.collID2Meta[vid]
|
||||
if !ok {
|
||||
return pb.CollectionInfo{}, errors.Errorf("can't find collection: " + collectionName)
|
||||
return nil, errors.Errorf("can't find collection: " + collectionName)
|
||||
}
|
||||
return col, nil
|
||||
colCopy := proto.Clone(&col)
|
||||
return colCopy.(*pb.CollectionInfo), nil
|
||||
}
|
||||
|
||||
func (mt *metaTable) GetCollectionBySegmentID(segID typeutil.UniqueID) (*pb.CollectionInfo, error) {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
|
||||
vid, ok := mt.segID2CollID[segID]
|
||||
if !ok {
|
||||
return nil, errors.Errorf("segment id %d not belong to any collection", segID)
|
||||
}
|
||||
col, ok := mt.collID2Meta[vid]
|
||||
if !ok {
|
||||
return nil, errors.Errorf("can't find collection id: %d", vid)
|
||||
}
|
||||
colCopy := proto.Clone(&col)
|
||||
return colCopy.(*pb.CollectionInfo), nil
|
||||
}
|
||||
|
||||
func (mt *metaTable) ListCollections() ([]string, error) {
|
||||
@ -564,6 +583,10 @@ func (mt *metaTable) GetFieldSchema(collName string, fieldName string) (schemapb
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
|
||||
return mt.unlockGetFieldSchema(collName, fieldName)
|
||||
}
|
||||
|
||||
func (mt *metaTable) unlockGetFieldSchema(collName string, fieldName string) (schemapb.FieldSchema, error) {
|
||||
collID, ok := mt.collName2ID[collName]
|
||||
if !ok {
|
||||
return schemapb.FieldSchema{}, errors.Errorf("collection %s not found", collName)
|
||||
@ -585,6 +608,10 @@ func (mt *metaTable) GetFieldSchema(collName string, fieldName string) (schemapb
|
||||
func (mt *metaTable) IsSegmentIndexed(segID typeutil.UniqueID, fieldSchema *schemapb.FieldSchema, indexParams []*commonpb.KeyValuePair) bool {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
return mt.unlockIsSegmentIndexed(segID, fieldSchema, indexParams)
|
||||
}
|
||||
|
||||
func (mt *metaTable) unlockIsSegmentIndexed(segID typeutil.UniqueID, fieldSchema *schemapb.FieldSchema, indexParams []*commonpb.KeyValuePair) bool {
|
||||
segIdx, ok := mt.segID2IndexMeta[segID]
|
||||
if !ok {
|
||||
return false
|
||||
@ -608,8 +635,9 @@ func (mt *metaTable) IsSegmentIndexed(segID typeutil.UniqueID, fieldSchema *sche
|
||||
|
||||
// return segment ids, type params, error
|
||||
func (mt *metaTable) GetNotIndexedSegments(collName string, fieldName string, indexParams []*commonpb.KeyValuePair) ([]typeutil.UniqueID, schemapb.FieldSchema, error) {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
mt.ddLock.Lock()
|
||||
defer mt.ddLock.Unlock()
|
||||
|
||||
collID, ok := mt.collName2ID[collName]
|
||||
if !ok {
|
||||
return nil, schemapb.FieldSchema{}, errors.Errorf("collection %s not found", collName)
|
||||
@ -618,17 +646,45 @@ func (mt *metaTable) GetNotIndexedSegments(collName string, fieldName string, in
|
||||
if !ok {
|
||||
return nil, schemapb.FieldSchema{}, errors.Errorf("collection %s not found", collName)
|
||||
}
|
||||
fieldSchema, err := mt.GetFieldSchema(collName, fieldName)
|
||||
fieldSchema, err := mt.unlockGetFieldSchema(collName, fieldName)
|
||||
if err != nil {
|
||||
return nil, fieldSchema, err
|
||||
}
|
||||
|
||||
exist := false
|
||||
if indexParams != nil {
|
||||
for _, f := range collMeta.IndexParams {
|
||||
if f.FiledID == fieldSchema.FieldID {
|
||||
if EqualKeyPairArray(f.IndexParams, indexParams) {
|
||||
exist = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if !exist && indexParams != nil {
|
||||
collMeta.IndexParams = append(collMeta.IndexParams, &pb.IndexParamsInfo{
|
||||
FiledID: fieldSchema.FieldID,
|
||||
IndexParams: indexParams,
|
||||
})
|
||||
mt.collID2Meta[collMeta.ID] = collMeta
|
||||
k1 := path.Join(CollectionMetaPrefix, strconv.FormatInt(collMeta.ID, 10))
|
||||
v1 := proto.MarshalTextString(&collMeta)
|
||||
|
||||
err := mt.client.Save(k1, v1)
|
||||
if err != nil {
|
||||
_ = mt.reloadFromKV()
|
||||
return nil, schemapb.FieldSchema{}, err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
rstID := make([]typeutil.UniqueID, 0, 16)
|
||||
for _, partID := range collMeta.PartitionIDs {
|
||||
partMeta, ok := mt.partitionID2Meta[partID]
|
||||
if ok {
|
||||
for _, segID := range partMeta.SegmentIDs {
|
||||
if exist := mt.IsSegmentIndexed(segID, &fieldSchema, indexParams); !exist {
|
||||
if exist := mt.unlockIsSegmentIndexed(segID, &fieldSchema, indexParams); !exist {
|
||||
rstID = append(rstID, segID)
|
||||
}
|
||||
}
|
||||
@ -637,27 +693,6 @@ func (mt *metaTable) GetNotIndexedSegments(collName string, fieldName string, in
|
||||
return rstID, fieldSchema, nil
|
||||
}
|
||||
|
||||
func (mt *metaTable) GetSegmentVectorFields(segID typeutil.UniqueID) ([]*schemapb.FieldSchema, error) {
|
||||
mt.ddLock.RLock()
|
||||
defer mt.ddLock.RUnlock()
|
||||
collID, ok := mt.segID2CollID[segID]
|
||||
if !ok {
|
||||
return nil, errors.Errorf("segment id %d not belong to any collection", segID)
|
||||
}
|
||||
collMeta, ok := mt.collID2Meta[collID]
|
||||
if !ok {
|
||||
return nil, errors.Errorf("segment id %d not belong to any collection which has dropped", segID)
|
||||
}
|
||||
rst := make([]*schemapb.FieldSchema, 0, 2)
|
||||
for _, f := range collMeta.Schema.Fields {
|
||||
if f.DataType == schemapb.DataType_VECTOR_BINARY || f.DataType == schemapb.DataType_VECTOR_FLOAT {
|
||||
field := proto.Clone(f)
|
||||
rst = append(rst, field.(*schemapb.FieldSchema))
|
||||
}
|
||||
}
|
||||
return rst, nil
|
||||
}
|
||||
|
||||
func (mt *metaTable) GetIndexByName(collName string, fieldName string, indexName string) ([]pb.IndexInfo, error) {
|
||||
mt.ddLock.RLock()
|
||||
mt.ddLock.RUnlock()
|
||||
|
||||
@ -105,12 +105,24 @@ func (t *CreateCollectionReqTask) Execute() error {
|
||||
Schema: &schema,
|
||||
CreateTime: collTs,
|
||||
PartitionIDs: make([]typeutil.UniqueID, 0, 16),
|
||||
IndexParams: make([]*etcdpb.IndexParamsInfo, 0, 16),
|
||||
}
|
||||
partMeta := etcdpb.PartitionInfo{
|
||||
PartitionName: Params.DefaultPartitionName,
|
||||
PartitionID: partitionID,
|
||||
SegmentIDs: make([]typeutil.UniqueID, 0, 16),
|
||||
}
|
||||
for _, field := range schema.Fields {
|
||||
if field.DataType == schemapb.DataType_VECTOR_FLOAT || field.DataType == schemapb.DataType_VECTOR_BINARY {
|
||||
if len(field.IndexParams) > 0 {
|
||||
indexParam := &etcdpb.IndexParamsInfo{
|
||||
FiledID: field.FieldID,
|
||||
IndexParams: field.IndexParams,
|
||||
}
|
||||
collMeta.IndexParams = append(collMeta.IndexParams, indexParam)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
err = t.core.MetaTable.AddCollection(&collMeta, &partMeta)
|
||||
if err != nil {
|
||||
|
||||
@ -1,6 +1,12 @@
|
||||
package masterservice
|
||||
|
||||
import "github.com/zilliztech/milvus-distributed/internal/proto/commonpb"
|
||||
import (
|
||||
"github.com/zilliztech/milvus-distributed/internal/errors"
|
||||
"github.com/zilliztech/milvus-distributed/internal/proto/commonpb"
|
||||
"github.com/zilliztech/milvus-distributed/internal/proto/etcdpb"
|
||||
"github.com/zilliztech/milvus-distributed/internal/proto/schemapb"
|
||||
"github.com/zilliztech/milvus-distributed/internal/util/typeutil"
|
||||
)
|
||||
|
||||
//return
|
||||
func EqualKeyPairArray(p1 []*commonpb.KeyValuePair, p2 []*commonpb.KeyValuePair) bool {
|
||||
@ -22,3 +28,12 @@ func EqualKeyPairArray(p1 []*commonpb.KeyValuePair, p2 []*commonpb.KeyValuePair)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func GetFieldSchemaByID(coll *etcdpb.CollectionInfo, fieldID typeutil.UniqueID) (*schemapb.FieldSchema, error) {
|
||||
for _, f := range coll.Schema.Fields {
|
||||
if f.FieldID == fieldID {
|
||||
return f, nil
|
||||
}
|
||||
}
|
||||
return nil, errors.Errorf("field id = %d not found", fieldID)
|
||||
}
|
||||
|
||||
@ -24,11 +24,17 @@ message PartitionInfo {
|
||||
repeated int64 segmentIDs = 3;
|
||||
}
|
||||
|
||||
message IndexParamsInfo{
|
||||
int64 filedID = 1;
|
||||
repeated common.KeyValuePair index_params = 2;
|
||||
}
|
||||
|
||||
message CollectionInfo {
|
||||
int64 ID = 1;
|
||||
schema.CollectionSchema schema = 2;
|
||||
uint64 create_time = 3;
|
||||
repeated int64 partitionIDs = 4;
|
||||
repeated IndexParamsInfo index_params = 5;
|
||||
}
|
||||
|
||||
message IndexInfo {
|
||||
|
||||
@ -195,11 +195,59 @@ func (m *PartitionInfo) GetSegmentIDs() []int64 {
|
||||
return nil
|
||||
}
|
||||
|
||||
type IndexParamsInfo struct {
|
||||
FiledID int64 `protobuf:"varint,1,opt,name=filedID,proto3" json:"filedID,omitempty"`
|
||||
IndexParams []*commonpb.KeyValuePair `protobuf:"bytes,2,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *IndexParamsInfo) Reset() { *m = IndexParamsInfo{} }
|
||||
func (m *IndexParamsInfo) String() string { return proto.CompactTextString(m) }
|
||||
func (*IndexParamsInfo) ProtoMessage() {}
|
||||
func (*IndexParamsInfo) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{3}
|
||||
}
|
||||
|
||||
func (m *IndexParamsInfo) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_IndexParamsInfo.Unmarshal(m, b)
|
||||
}
|
||||
func (m *IndexParamsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_IndexParamsInfo.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *IndexParamsInfo) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_IndexParamsInfo.Merge(m, src)
|
||||
}
|
||||
func (m *IndexParamsInfo) XXX_Size() int {
|
||||
return xxx_messageInfo_IndexParamsInfo.Size(m)
|
||||
}
|
||||
func (m *IndexParamsInfo) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_IndexParamsInfo.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_IndexParamsInfo proto.InternalMessageInfo
|
||||
|
||||
func (m *IndexParamsInfo) GetFiledID() int64 {
|
||||
if m != nil {
|
||||
return m.FiledID
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *IndexParamsInfo) GetIndexParams() []*commonpb.KeyValuePair {
|
||||
if m != nil {
|
||||
return m.IndexParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type CollectionInfo struct {
|
||||
ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
|
||||
Schema *schemapb.CollectionSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
|
||||
CreateTime uint64 `protobuf:"varint,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
|
||||
PartitionIDs []int64 `protobuf:"varint,4,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"`
|
||||
IndexParams []*IndexParamsInfo `protobuf:"bytes,5,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@ -209,7 +257,7 @@ func (m *CollectionInfo) Reset() { *m = CollectionInfo{} }
|
||||
func (m *CollectionInfo) String() string { return proto.CompactTextString(m) }
|
||||
func (*CollectionInfo) ProtoMessage() {}
|
||||
func (*CollectionInfo) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{3}
|
||||
return fileDescriptor_975d306d62b73e88, []int{4}
|
||||
}
|
||||
|
||||
func (m *CollectionInfo) XXX_Unmarshal(b []byte) error {
|
||||
@ -258,6 +306,13 @@ func (m *CollectionInfo) GetPartitionIDs() []int64 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *CollectionInfo) GetIndexParams() []*IndexParamsInfo {
|
||||
if m != nil {
|
||||
return m.IndexParams
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type IndexInfo struct {
|
||||
IndexName string `protobuf:"bytes,1,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"`
|
||||
IndexID int64 `protobuf:"varint,2,opt,name=indexID,proto3" json:"indexID,omitempty"`
|
||||
@ -271,7 +326,7 @@ func (m *IndexInfo) Reset() { *m = IndexInfo{} }
|
||||
func (m *IndexInfo) String() string { return proto.CompactTextString(m) }
|
||||
func (*IndexInfo) ProtoMessage() {}
|
||||
func (*IndexInfo) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{4}
|
||||
return fileDescriptor_975d306d62b73e88, []int{5}
|
||||
}
|
||||
|
||||
func (m *IndexInfo) XXX_Unmarshal(b []byte) error {
|
||||
@ -327,7 +382,7 @@ func (m *SegmentIndexInfo) Reset() { *m = SegmentIndexInfo{} }
|
||||
func (m *SegmentIndexInfo) String() string { return proto.CompactTextString(m) }
|
||||
func (*SegmentIndexInfo) ProtoMessage() {}
|
||||
func (*SegmentIndexInfo) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{5}
|
||||
return fileDescriptor_975d306d62b73e88, []int{6}
|
||||
}
|
||||
|
||||
func (m *SegmentIndexInfo) XXX_Unmarshal(b []byte) error {
|
||||
@ -392,7 +447,7 @@ func (m *CollectionMeta) Reset() { *m = CollectionMeta{} }
|
||||
func (m *CollectionMeta) String() string { return proto.CompactTextString(m) }
|
||||
func (*CollectionMeta) ProtoMessage() {}
|
||||
func (*CollectionMeta) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{6}
|
||||
return fileDescriptor_975d306d62b73e88, []int{7}
|
||||
}
|
||||
|
||||
func (m *CollectionMeta) XXX_Unmarshal(b []byte) error {
|
||||
@ -467,7 +522,7 @@ func (m *FieldBinlogFiles) Reset() { *m = FieldBinlogFiles{} }
|
||||
func (m *FieldBinlogFiles) String() string { return proto.CompactTextString(m) }
|
||||
func (*FieldBinlogFiles) ProtoMessage() {}
|
||||
func (*FieldBinlogFiles) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{7}
|
||||
return fileDescriptor_975d306d62b73e88, []int{8}
|
||||
}
|
||||
|
||||
func (m *FieldBinlogFiles) XXX_Unmarshal(b []byte) error {
|
||||
@ -522,7 +577,7 @@ func (m *SegmentMeta) Reset() { *m = SegmentMeta{} }
|
||||
func (m *SegmentMeta) String() string { return proto.CompactTextString(m) }
|
||||
func (*SegmentMeta) ProtoMessage() {}
|
||||
func (*SegmentMeta) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{8}
|
||||
return fileDescriptor_975d306d62b73e88, []int{9}
|
||||
}
|
||||
|
||||
func (m *SegmentMeta) XXX_Unmarshal(b []byte) error {
|
||||
@ -629,7 +684,7 @@ func (m *FieldIndexMeta) Reset() { *m = FieldIndexMeta{} }
|
||||
func (m *FieldIndexMeta) String() string { return proto.CompactTextString(m) }
|
||||
func (*FieldIndexMeta) ProtoMessage() {}
|
||||
func (*FieldIndexMeta) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_975d306d62b73e88, []int{9}
|
||||
return fileDescriptor_975d306d62b73e88, []int{10}
|
||||
}
|
||||
|
||||
func (m *FieldIndexMeta) XXX_Unmarshal(b []byte) error {
|
||||
@ -696,6 +751,7 @@ func init() {
|
||||
proto.RegisterType((*TenantMeta)(nil), "milvus.proto.etcd.TenantMeta")
|
||||
proto.RegisterType((*ProxyMeta)(nil), "milvus.proto.etcd.ProxyMeta")
|
||||
proto.RegisterType((*PartitionInfo)(nil), "milvus.proto.etcd.PartitionInfo")
|
||||
proto.RegisterType((*IndexParamsInfo)(nil), "milvus.proto.etcd.IndexParamsInfo")
|
||||
proto.RegisterType((*CollectionInfo)(nil), "milvus.proto.etcd.CollectionInfo")
|
||||
proto.RegisterType((*IndexInfo)(nil), "milvus.proto.etcd.IndexInfo")
|
||||
proto.RegisterType((*SegmentIndexInfo)(nil), "milvus.proto.etcd.SegmentIndexInfo")
|
||||
@ -708,56 +764,58 @@ func init() {
|
||||
func init() { proto.RegisterFile("etcd_meta.proto", fileDescriptor_975d306d62b73e88) }
|
||||
|
||||
var fileDescriptor_975d306d62b73e88 = []byte{
|
||||
// 809 bytes of a gzipped FileDescriptorProto
|
||||
// 844 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x5d, 0x8f, 0xdb, 0x44,
|
||||
0x14, 0x95, 0x93, 0x6c, 0x76, 0x7d, 0x93, 0xcd, 0xee, 0xfa, 0xc9, 0x94, 0x96, 0xa6, 0xae, 0x0a,
|
||||
0x91, 0x10, 0x89, 0xb4, 0x08, 0xde, 0x40, 0xd0, 0x86, 0x4a, 0x11, 0xa2, 0x0d, 0xce, 0x8a, 0x07,
|
||||
0x5e, 0xac, 0x89, 0x7d, 0x37, 0x19, 0xc9, 0x33, 0x0e, 0x9e, 0x31, 0xdd, 0xdd, 0x07, 0xc4, 0x2b,
|
||||
0xfc, 0x04, 0x9e, 0xf9, 0x77, 0xfc, 0x06, 0x24, 0x34, 0x77, 0x1c, 0x7f, 0x6c, 0x23, 0x84, 0x2a,
|
||||
0xf1, 0x78, 0xcf, 0x3d, 0xd7, 0x73, 0xe6, 0x9c, 0x3b, 0x09, 0x9c, 0xa1, 0x8e, 0x93, 0x48, 0xa0,
|
||||
0x66, 0xd3, 0x5d, 0x9e, 0xe9, 0xcc, 0xbb, 0x10, 0x3c, 0xfd, 0xb9, 0x50, 0xb6, 0x9a, 0x9a, 0xee,
|
||||
0x83, 0x61, 0x9c, 0x09, 0x91, 0x49, 0x0b, 0x3d, 0x18, 0xaa, 0x78, 0x8b, 0xa2, 0xa4, 0x07, 0x7f,
|
||||
0x38, 0x00, 0x57, 0x28, 0x99, 0xd4, 0xdf, 0xa1, 0x66, 0xde, 0x08, 0x3a, 0x8b, 0xb9, 0xef, 0x8c,
|
||||
0x9d, 0x49, 0x37, 0xec, 0x2c, 0xe6, 0xde, 0x87, 0x70, 0x26, 0x0b, 0x11, 0xfd, 0x54, 0x60, 0x7e,
|
||||
0x1b, 0xc9, 0x2c, 0x41, 0xe5, 0x77, 0xa8, 0x79, 0x2a, 0x0b, 0xf1, 0xbd, 0x41, 0x5f, 0x19, 0xd0,
|
||||
0xfb, 0x18, 0x2e, 0xb8, 0x54, 0x98, 0xeb, 0x28, 0xde, 0x32, 0x29, 0x31, 0x5d, 0xcc, 0x95, 0xdf,
|
||||
0x1d, 0x77, 0x27, 0x6e, 0x78, 0x6e, 0x1b, 0x2f, 0x2a, 0xdc, 0xfb, 0x08, 0xce, 0xec, 0x07, 0x2b,
|
||||
0xae, 0xdf, 0x1b, 0x3b, 0x13, 0x37, 0x1c, 0x11, 0x5c, 0x31, 0x83, 0x5f, 0x1d, 0x70, 0x97, 0x79,
|
||||
0x76, 0x73, 0x7b, 0x50, 0xdb, 0xe7, 0x70, 0xcc, 0x92, 0x24, 0x47, 0x65, 0x35, 0x0d, 0x2e, 0x1f,
|
||||
0x4e, 0x5b, 0x77, 0x2f, 0x6f, 0xfd, 0xb5, 0xe5, 0x84, 0x7b, 0xb2, 0xd1, 0x9a, 0xa3, 0x2a, 0xd2,
|
||||
0x43, 0x5a, 0x6d, 0xa3, 0xd6, 0x1a, 0xdc, 0xc0, 0xe9, 0x92, 0xe5, 0x9a, 0x6b, 0x9e, 0xc9, 0x85,
|
||||
0xbc, 0xce, 0xbc, 0x67, 0x30, 0xda, 0xed, 0x81, 0x48, 0x32, 0x81, 0xa4, 0xc8, 0x0d, 0x4f, 0x2b,
|
||||
0xf4, 0x15, 0x13, 0xe8, 0x8d, 0x61, 0x50, 0x01, 0x8b, 0x79, 0x69, 0x5a, 0x13, 0xf2, 0x3e, 0x00,
|
||||
0x50, 0xb8, 0x11, 0x28, 0xf5, 0xfe, 0xfc, 0x6e, 0xd8, 0x40, 0x82, 0x3f, 0x1d, 0x18, 0xbd, 0xc8,
|
||||
0xd2, 0x14, 0xe3, 0xea, 0xec, 0xfb, 0x0e, 0x7c, 0x01, 0x7d, 0x1b, 0x66, 0x69, 0xc0, 0xb3, 0xb6,
|
||||
0x01, 0x65, 0xd0, 0xf5, 0x47, 0x56, 0x04, 0x84, 0xe5, 0x90, 0xf7, 0x18, 0x06, 0x71, 0x8e, 0x4c,
|
||||
0x63, 0xa4, 0xb9, 0x40, 0xbf, 0x3b, 0x76, 0x26, 0xbd, 0x10, 0x2c, 0x74, 0xc5, 0x05, 0x7a, 0x01,
|
||||
0x0c, 0x1b, 0x8a, 0x95, 0xdf, 0x23, 0x91, 0x2d, 0x2c, 0xf8, 0xdd, 0x01, 0x77, 0x21, 0x13, 0xbc,
|
||||
0x21, 0x85, 0x8f, 0x00, 0xb8, 0x29, 0x9a, 0xce, 0xb8, 0x84, 0x90, 0x2b, 0x3e, 0x1c, 0x53, 0x51,
|
||||
0x39, 0xb2, 0x2f, 0xbd, 0x39, 0x0c, 0xed, 0xe0, 0x8e, 0xe5, 0x4c, 0x58, 0x3f, 0x06, 0x97, 0x4f,
|
||||
0x0e, 0x26, 0xfa, 0x2d, 0xde, 0xfe, 0xc0, 0xd2, 0x02, 0x97, 0x8c, 0xe7, 0xe1, 0x80, 0xc6, 0x96,
|
||||
0x34, 0x15, 0xfc, 0x02, 0xe7, 0xab, 0xd2, 0xc1, 0x4a, 0xd2, 0x43, 0x70, 0x2b, 0x57, 0x4b, 0xef,
|
||||
0x6a, 0xc0, 0x28, 0xba, 0xe6, 0x98, 0x26, 0xb5, 0xa2, 0xb2, 0x6c, 0x6a, 0xed, 0xb6, 0xb5, 0xfa,
|
||||
0x70, 0xbc, 0x2e, 0x38, 0xcd, 0xf4, 0x6c, 0xa7, 0x2c, 0x83, 0xbf, 0x5a, 0x99, 0x1d, 0xdc, 0xda,
|
||||
0xff, 0x3b, 0xb3, 0xf6, 0x5a, 0xf5, 0xee, 0xaf, 0x55, 0x7b, 0x7f, 0x35, 0xdb, 0x28, 0xff, 0x88,
|
||||
0x56, 0xbf, 0xde, 0xdf, 0x2b, 0xb6, 0x51, 0x6f, 0x45, 0xdf, 0x3f, 0x10, 0xfd, 0x6b, 0x38, 0x7f,
|
||||
0x69, 0xcc, 0x7a, 0xce, 0x65, 0x9a, 0x6d, 0x5e, 0xf2, 0x14, 0x55, 0xd3, 0x4f, 0xa7, 0xed, 0xe7,
|
||||
0x13, 0x18, 0xae, 0x89, 0x18, 0x5d, 0x1b, 0xa6, 0xdf, 0xa1, 0x63, 0x07, 0xeb, 0x7a, 0x38, 0xf8,
|
||||
0xbb, 0x03, 0x83, 0x32, 0x3f, 0xf2, 0xee, 0xdf, 0xa3, 0x0b, 0x60, 0x18, 0xd7, 0xef, 0x63, 0x9f,
|
||||
0x5f, 0x0b, 0xf3, 0x9e, 0xc2, 0x69, 0xeb, 0xb6, 0x64, 0x98, 0xdb, 0xb8, 0xc7, 0x15, 0xdb, 0x18,
|
||||
0x52, 0xf9, 0x4b, 0x10, 0x29, 0xcd, 0x72, 0x4d, 0xa9, 0x1e, 0x85, 0xc3, 0x12, 0x5c, 0x19, 0x8c,
|
||||
0x8c, 0x2f, 0x49, 0x28, 0x13, 0xff, 0x88, 0x28, 0x50, 0x42, 0xdf, 0xc8, 0xc4, 0x7b, 0x1f, 0xdc,
|
||||
0x6c, 0x87, 0xd2, 0xe6, 0xd2, 0xa7, 0x5c, 0x4e, 0x0c, 0x40, 0xa9, 0x3c, 0x02, 0x88, 0xd3, 0x4c,
|
||||
0x95, 0xa9, 0x1d, 0x53, 0xd7, 0x25, 0x84, 0xda, 0xef, 0xc1, 0x89, 0xf9, 0x99, 0xcd, 0xb3, 0x37,
|
||||
0xca, 0x3f, 0xb1, 0xb6, 0xc9, 0x42, 0x84, 0xd9, 0x1b, 0x65, 0x5a, 0x02, 0x45, 0xa4, 0xf8, 0x1d,
|
||||
0xfa, 0xae, 0x6d, 0x09, 0x14, 0x2b, 0x7e, 0x87, 0xde, 0x6b, 0xb8, 0x68, 0x38, 0x1a, 0xed, 0x98,
|
||||
0xde, 0x2a, 0x1f, 0xe8, 0xe1, 0x3c, 0x9d, 0xbe, 0xf5, 0x37, 0x30, 0xbd, 0x9f, 0x55, 0x78, 0x56,
|
||||
0x7b, 0xbf, 0x34, 0xb3, 0xc1, 0x6f, 0x1d, 0x18, 0x11, 0x8b, 0x5e, 0xcf, 0x7f, 0x88, 0xe0, 0x5d,
|
||||
0x5e, 0xcf, 0xfd, 0x97, 0xde, 0x7b, 0x97, 0x97, 0xee, 0x7d, 0x06, 0x47, 0x4a, 0x33, 0x8d, 0x14,
|
||||
0xc4, 0xe8, 0xf2, 0xf1, 0xc1, 0x71, 0xba, 0xc6, 0xca, 0xd0, 0x42, 0xcb, 0xf6, 0x26, 0x70, 0x6e,
|
||||
0x0f, 0x6f, 0x38, 0xd6, 0xa7, 0x45, 0x1c, 0x11, 0x5e, 0x79, 0xf1, 0xfc, 0xab, 0x1f, 0xbf, 0xdc,
|
||||
0x70, 0xbd, 0x2d, 0xd6, 0xe6, 0x63, 0xb3, 0x3b, 0x9e, 0xa6, 0xfc, 0x4e, 0x63, 0xbc, 0x9d, 0xd9,
|
||||
0x83, 0x3e, 0x49, 0xb8, 0xd2, 0x39, 0x5f, 0x17, 0x1a, 0x93, 0x19, 0x97, 0x1a, 0x73, 0xc9, 0xd2,
|
||||
0x19, 0x9d, 0x3e, 0x33, 0x6e, 0xef, 0xd6, 0xeb, 0x3e, 0x55, 0x9f, 0xfe, 0x13, 0x00, 0x00, 0xff,
|
||||
0xff, 0xde, 0xef, 0x54, 0xe3, 0xa3, 0x07, 0x00, 0x00,
|
||||
0x14, 0x55, 0x3e, 0x36, 0x59, 0xdf, 0x64, 0x93, 0xdd, 0x79, 0x32, 0xa5, 0xa5, 0xa9, 0xab, 0x42,
|
||||
0x24, 0x44, 0x22, 0x2d, 0x82, 0x37, 0x10, 0xb4, 0x69, 0xa5, 0x08, 0xd1, 0x06, 0x67, 0xc5, 0x03,
|
||||
0x2f, 0xd6, 0xc4, 0xbe, 0x4d, 0x46, 0xf2, 0x8c, 0x53, 0xcf, 0x98, 0xee, 0xee, 0x03, 0xe2, 0x15,
|
||||
0x7e, 0x02, 0x7f, 0x91, 0xdf, 0x80, 0x84, 0x7c, 0xc7, 0x71, 0xec, 0x6c, 0x84, 0xd0, 0x4a, 0x7d,
|
||||
0x9c, 0x73, 0xcf, 0x78, 0xee, 0x3d, 0xe7, 0x9e, 0x04, 0x86, 0x68, 0xc2, 0x28, 0x90, 0x68, 0xf8,
|
||||
0x64, 0x9b, 0x26, 0x26, 0x61, 0x17, 0x52, 0xc4, 0xbf, 0x66, 0xda, 0x9e, 0x26, 0x79, 0xf5, 0x41,
|
||||
0x3f, 0x4c, 0xa4, 0x4c, 0x94, 0x85, 0x1e, 0xf4, 0x75, 0xb8, 0x41, 0x59, 0xd0, 0xbd, 0xbf, 0x1a,
|
||||
0x00, 0x57, 0xa8, 0xb8, 0x32, 0x3f, 0xa2, 0xe1, 0x6c, 0x00, 0xcd, 0xf9, 0xcc, 0x6d, 0x8c, 0x1a,
|
||||
0xe3, 0x96, 0xdf, 0x9c, 0xcf, 0xd8, 0xa7, 0x30, 0x54, 0x99, 0x0c, 0xde, 0x65, 0x98, 0xde, 0x04,
|
||||
0x2a, 0x89, 0x50, 0xbb, 0x4d, 0x2a, 0x9e, 0xa9, 0x4c, 0xfe, 0x94, 0xa3, 0xaf, 0x73, 0x90, 0x7d,
|
||||
0x0e, 0x17, 0x42, 0x69, 0x4c, 0x4d, 0x10, 0x6e, 0xb8, 0x52, 0x18, 0xcf, 0x67, 0xda, 0x6d, 0x8d,
|
||||
0x5a, 0x63, 0xc7, 0x3f, 0xb7, 0x85, 0x17, 0x25, 0xce, 0x3e, 0x83, 0xa1, 0xfd, 0x60, 0xc9, 0x75,
|
||||
0xdb, 0xa3, 0xc6, 0xd8, 0xf1, 0x07, 0x04, 0x97, 0x4c, 0xef, 0xf7, 0x06, 0x38, 0x8b, 0x34, 0xb9,
|
||||
0xbe, 0x39, 0xda, 0xdb, 0xd7, 0xd0, 0xe5, 0x51, 0x94, 0xa2, 0xb6, 0x3d, 0xf5, 0x2e, 0x1f, 0x4e,
|
||||
0x6a, 0xb3, 0x17, 0x53, 0x7f, 0x6f, 0x39, 0xfe, 0x8e, 0x9c, 0xf7, 0x9a, 0xa2, 0xce, 0xe2, 0x63,
|
||||
0xbd, 0xda, 0xc2, 0xbe, 0x57, 0xef, 0x1a, 0xce, 0x16, 0x3c, 0x35, 0xc2, 0x88, 0x44, 0xcd, 0xd5,
|
||||
0xdb, 0x84, 0x3d, 0x83, 0xc1, 0x76, 0x07, 0x04, 0x8a, 0x4b, 0xa4, 0x8e, 0x1c, 0xff, 0xac, 0x44,
|
||||
0x5f, 0x73, 0x89, 0x6c, 0x04, 0xbd, 0x12, 0x98, 0xcf, 0x0a, 0xd1, 0xaa, 0x10, 0xfb, 0x04, 0x40,
|
||||
0xe3, 0x5a, 0xa2, 0x32, 0xbb, 0xf7, 0x5b, 0x7e, 0x05, 0xf1, 0xde, 0xc1, 0x70, 0xae, 0x22, 0xbc,
|
||||
0x5e, 0xf0, 0x94, 0x4b, 0x4d, 0x6f, 0xbb, 0xd0, 0x7d, 0x2b, 0x62, 0x8c, 0x4a, 0x19, 0x76, 0x47,
|
||||
0x36, 0x83, 0xbe, 0xc8, 0xc9, 0xc1, 0x96, 0xd8, 0x6e, 0x73, 0xd4, 0x1a, 0xf7, 0x2e, 0x9f, 0x1c,
|
||||
0x15, 0xe4, 0x07, 0xbc, 0xf9, 0x99, 0xc7, 0x19, 0x2e, 0xb8, 0x48, 0xfd, 0x9e, 0xd8, 0xbf, 0xe1,
|
||||
0xfd, 0xdd, 0x80, 0xc1, 0x8b, 0x24, 0x8e, 0x31, 0x2c, 0xc7, 0x3d, 0x14, 0xfd, 0x1b, 0xe8, 0xd8,
|
||||
0xfd, 0x29, 0x34, 0x7f, 0x56, 0x7f, 0xa2, 0xd8, 0xad, 0xfd, 0x47, 0x96, 0x04, 0xf8, 0xc5, 0x25,
|
||||
0xf6, 0x18, 0x7a, 0x61, 0x8a, 0xdc, 0x60, 0x60, 0x84, 0x44, 0xb7, 0x35, 0x6a, 0x8c, 0xdb, 0x3e,
|
||||
0x58, 0xe8, 0x4a, 0x48, 0x64, 0x1e, 0xf4, 0x2b, 0x22, 0x69, 0xb7, 0x4d, 0xba, 0xd4, 0x30, 0xf6,
|
||||
0xf2, 0x60, 0xd8, 0x13, 0x1a, 0xd6, 0x9b, 0xdc, 0xd9, 0xfc, 0xc9, 0x81, 0x80, 0xf5, 0x69, 0xff,
|
||||
0x6c, 0x80, 0x43, 0x04, 0x1a, 0xf4, 0x11, 0x80, 0xfd, 0x68, 0xc5, 0x53, 0x87, 0x10, 0xf2, 0xd3,
|
||||
0x85, 0x2e, 0x1d, 0x4a, 0x2f, 0x77, 0xc7, 0x3b, 0xd2, 0xb7, 0xee, 0x25, 0xfd, 0x6f, 0x70, 0xbe,
|
||||
0x2c, 0xbc, 0x2f, 0x5b, 0x7a, 0x08, 0x4e, 0xb9, 0x0f, 0x85, 0x05, 0x7b, 0xc0, 0x2e, 0x03, 0xc6,
|
||||
0xd1, 0xbe, 0xa3, 0xe2, 0x58, 0xed, 0xb5, 0x55, 0xef, 0xd5, 0x85, 0xee, 0x2a, 0x13, 0x74, 0xa7,
|
||||
0x6d, 0x2b, 0xc5, 0xf1, 0xc0, 0xfa, 0xa3, 0x79, 0xfb, 0xd0, 0xd6, 0xd7, 0x03, 0xd1, 0x3e, 0x0c,
|
||||
0x44, 0x3d, 0x79, 0x86, 0xaf, 0xad, 0xf1, 0xd5, 0xe4, 0x5d, 0xf1, 0xb5, 0xbe, 0xb3, 0x41, 0x9d,
|
||||
0xbb, 0x1b, 0xe4, 0xbd, 0x81, 0xf3, 0x57, 0xb9, 0x58, 0xcf, 0x85, 0x8a, 0x93, 0xf5, 0x2b, 0x11,
|
||||
0xa3, 0xae, 0xea, 0xd9, 0xa8, 0xeb, 0xf9, 0x04, 0xfa, 0x2b, 0x22, 0x06, 0x79, 0xdc, 0x6c, 0xb8,
|
||||
0x1c, 0xbf, 0xb7, 0xda, 0x5f, 0xf6, 0xfe, 0x69, 0x42, 0xaf, 0xf0, 0x8f, 0xb4, 0xfb, 0x6f, 0xeb,
|
||||
0x3c, 0xe8, 0x87, 0xfb, 0x98, 0xed, 0xfc, 0xab, 0x61, 0xec, 0x29, 0x9c, 0xd5, 0xa6, 0x25, 0xc1,
|
||||
0x9c, 0xca, 0x1c, 0x57, 0x7c, 0x9d, 0x93, 0x8a, 0xdf, 0xb0, 0x40, 0x1b, 0x9e, 0x1a, 0x72, 0xf5,
|
||||
0xc4, 0xef, 0x17, 0xe0, 0x32, 0xc7, 0x48, 0xf8, 0x82, 0x84, 0x2a, 0x72, 0x4f, 0x88, 0x02, 0x05,
|
||||
0xf4, 0x52, 0x45, 0xec, 0x63, 0x70, 0x92, 0x2d, 0x2a, 0xeb, 0x4b, 0x87, 0x7c, 0x39, 0xcd, 0x01,
|
||||
0x72, 0xe5, 0x11, 0x40, 0x18, 0x27, 0xba, 0x70, 0xad, 0x4b, 0x55, 0x87, 0x10, 0x2a, 0x7f, 0x04,
|
||||
0xa7, 0xf9, 0x1f, 0x44, 0x9a, 0xbc, 0xd7, 0xee, 0xa9, 0x95, 0x4d, 0x65, 0xd2, 0x4f, 0xde, 0xeb,
|
||||
0xbc, 0x24, 0x51, 0x06, 0x5a, 0xdc, 0xa2, 0xeb, 0xd8, 0x92, 0x44, 0xb9, 0x14, 0xb7, 0xc8, 0xde,
|
||||
0xc0, 0x45, 0x45, 0xd1, 0x60, 0xcb, 0xcd, 0x46, 0xbb, 0x40, 0xc1, 0x79, 0x7a, 0x24, 0xc6, 0x87,
|
||||
0x5e, 0xf9, 0xc3, 0xbd, 0xf6, 0x8b, 0xfc, 0xae, 0xf7, 0x47, 0x13, 0x06, 0xc4, 0xa2, 0xf4, 0xfc,
|
||||
0x0f, 0x0b, 0xee, 0x93, 0x9e, 0xc3, 0xa4, 0xb7, 0xef, 0x93, 0x74, 0xf6, 0x15, 0x9c, 0x68, 0xc3,
|
||||
0x0d, 0x92, 0x11, 0x83, 0xcb, 0xc7, 0x47, 0xaf, 0xd3, 0x18, 0xcb, 0x9c, 0xe6, 0x5b, 0x36, 0x1b,
|
||||
0xc3, 0xb9, 0x7d, 0xbc, 0xa2, 0x58, 0x87, 0x16, 0x71, 0x40, 0x78, 0xa9, 0xc5, 0xf3, 0xef, 0x7e,
|
||||
0xf9, 0x76, 0x2d, 0xcc, 0x26, 0x5b, 0xe5, 0x1f, 0x9b, 0xde, 0x8a, 0x38, 0x16, 0xb7, 0x06, 0xc3,
|
||||
0xcd, 0xd4, 0x3e, 0xf4, 0x45, 0x24, 0xb4, 0x49, 0xc5, 0x2a, 0x33, 0x18, 0x4d, 0x85, 0x32, 0x98,
|
||||
0x2a, 0x1e, 0x4f, 0xe9, 0xf5, 0x69, 0xae, 0xf6, 0x76, 0xb5, 0xea, 0xd0, 0xe9, 0xcb, 0x7f, 0x03,
|
||||
0x00, 0x00, 0xff, 0xff, 0xf3, 0x18, 0xad, 0xa6, 0x5d, 0x08, 0x00, 0x00,
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user