diff --git a/go.mod b/go.mod index 9e79792ed2..1d7eaf4158 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/golang/protobuf v1.5.3 github.com/klauspost/compress v1.14.4 github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d - github.com/milvus-io/milvus-proto/go-api v0.0.0-20230416064425-aec3e83865b2 + github.com/milvus-io/milvus-proto/go-api v0.0.0-20230421091228-eaa38c831a61 github.com/milvus-io/milvus/pkg v0.0.0-00010101000000-000000000000 github.com/minio/minio-go/v7 v7.0.17 github.com/panjf2000/ants/v2 v2.7.2 diff --git a/go.sum b/go.sum index 7289a158b4..215ae02b4d 100644 --- a/go.sum +++ b/go.sum @@ -572,8 +572,8 @@ github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/le github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/milvus-io/gorocksdb v0.0.0-20220624081344-8c5f4212846b h1:TfeY0NxYxZzUfIfYe5qYDBzt4ZYRqzUjTR6CvUzjat8= github.com/milvus-io/gorocksdb v0.0.0-20220624081344-8c5f4212846b/go.mod h1:iwW+9cWfIzzDseEBCCeDSN5SD16Tidvy8cwQ7ZY8Qj4= -github.com/milvus-io/milvus-proto/go-api v0.0.0-20230416064425-aec3e83865b2 h1:G5uN68X/7eoCfHUkNvkbNueFhHuohCZG94te+ApLAOY= -github.com/milvus-io/milvus-proto/go-api v0.0.0-20230416064425-aec3e83865b2/go.mod h1:148qnlmZ0Fdm1Fq+Mj/OW2uDoEP25g3mjh0vMGtkgmk= +github.com/milvus-io/milvus-proto/go-api v0.0.0-20230421091228-eaa38c831a61 h1:EX2oknwzltpw6yZ7QZEphVHM3YTysjdbb5keleFjs3M= +github.com/milvus-io/milvus-proto/go-api v0.0.0-20230421091228-eaa38c831a61/go.mod h1:148qnlmZ0Fdm1Fq+Mj/OW2uDoEP25g3mjh0vMGtkgmk= github.com/milvus-io/pulsar-client-go v0.6.10 h1:eqpJjU+/QX0iIhEo3nhOqMNXL+TyInAs1IAHZCrCM/A= github.com/milvus-io/pulsar-client-go v0.6.10/go.mod h1:lQqCkgwDF8YFYjKA+zOheTk1tev2B+bKj5j7+nm8M1w= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= diff --git a/internal/core/src/pb/common.pb.cc b/internal/core/src/pb/common.pb.cc index 78a9692c76..b7da0f9860 100755 --- a/internal/core/src/pb/common.pb.cc +++ b/internal/core/src/pb/common.pb.cc @@ -401,7 +401,7 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE( "led\020\003\022\013\n\007Flushed\020\004\022\014\n\010Flushing\020\005\022\013\n\007Drop" "ped\020\006\022\r\n\tImporting\020\007*>\n\017PlaceholderType\022" "\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatVect" - "or\020e*\246\017\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n\020Creat" + "or\020e*\277\017\n\007MsgType\022\r\n\tUndefined\020\000\022\024\n\020Creat" "eCollection\020d\022\022\n\016DropCollection\020e\022\021\n\rHas" "Collection\020f\022\026\n\022DescribeCollection\020g\022\023\n\017" "ShowCollections\020h\022\024\n\020GetSystemConfigs\020i\022" @@ -419,88 +419,88 @@ const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE( "egments\020\377\001\022\025\n\020DescribeSegments\020\200\002\022\034\n\027Fed" "erListIndexedSegment\020\201\002\022\"\n\035FederDescribe" "SegmentIndexData\020\202\002\022\020\n\013CreateIndex\020\254\002\022\022\n" - "\rDescribeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\013\n\006Ins" - "ert\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005Flush\020\222\003\022\027\n\022Resen" - "dSegmentStats\020\223\003\022\013\n\006Upsert\020\224\003\022\013\n\006Search\020" - "\364\003\022\021\n\014SearchResult\020\365\003\022\022\n\rGetIndexState\020\366" - "\003\022\032\n\025GetIndexBuildProgress\020\367\003\022\034\n\027GetColl" - "ectionStatistics\020\370\003\022\033\n\026GetPartitionStati" - "stics\020\371\003\022\r\n\010Retrieve\020\372\003\022\023\n\016RetrieveResul" - "t\020\373\003\022\024\n\017WatchDmChannels\020\374\003\022\025\n\020RemoveDmCh" - "annels\020\375\003\022\027\n\022WatchQueryChannels\020\376\003\022\030\n\023Re" - "moveQueryChannels\020\377\003\022\035\n\030SealedSegmentsCh" - "angeInfo\020\200\004\022\027\n\022WatchDeltaChannels\020\201\004\022\024\n\017" - "GetShardLeaders\020\202\004\022\020\n\013GetReplicas\020\203\004\022\023\n\016" - "UnsubDmChannel\020\204\004\022\024\n\017GetDistribution\020\205\004\022" - "\025\n\020SyncDistribution\020\206\004\022\020\n\013SegmentInfo\020\330\004" - "\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecoveryInfo\020\332\004\022" - "\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeTick\020\260\t\022\023\n\016" - "QueryNodeStats\020\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\tReq" - "uestID\020\263\t\022\017\n\nRequestTSO\020\264\t\022\024\n\017AllocateSe" - "gment\020\265\t\022\026\n\021SegmentStatistics\020\266\t\022\025\n\020Segm" - "entFlushDone\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\025\n\020Crea" - "teCredential\020\334\013\022\022\n\rGetCredential\020\335\013\022\025\n\020D" - "eleteCredential\020\336\013\022\025\n\020UpdateCredential\020\337" - "\013\022\026\n\021ListCredUsernames\020\340\013\022\017\n\nCreateRole\020" - "\300\014\022\r\n\010DropRole\020\301\014\022\024\n\017OperateUserRole\020\302\014\022" - "\017\n\nSelectRole\020\303\014\022\017\n\nSelectUser\020\304\014\022\023\n\016Sel" - "ectResource\020\305\014\022\025\n\020OperatePrivilege\020\306\014\022\020\n" - "\013SelectGrant\020\307\014\022\033\n\026RefreshPolicyInfoCach" - "e\020\310\014\022\017\n\nListPolicy\020\311\014\022\030\n\023CreateResourceG" - "roup\020\244\r\022\026\n\021DropResourceGroup\020\245\r\022\027\n\022ListR" - "esourceGroups\020\246\r\022\032\n\025DescribeResourceGrou" - "p\020\247\r\022\021\n\014TransferNode\020\250\r\022\024\n\017TransferRepli" - "ca\020\251\r*\"\n\007DslType\022\007\n\003Dsl\020\000\022\016\n\nBoolExprV1\020" - "\001*B\n\017CompactionState\022\021\n\rUndefiedState\020\000\022" - "\r\n\tExecuting\020\001\022\r\n\tCompleted\020\002*X\n\020Consist" - "encyLevel\022\n\n\006Strong\020\000\022\013\n\007Session\020\001\022\013\n\007Bo" - "unded\020\002\022\016\n\nEventually\020\003\022\016\n\nCustomized\020\004*" - "\236\001\n\013ImportState\022\021\n\rImportPending\020\000\022\020\n\014Im" - "portFailed\020\001\022\021\n\rImportStarted\020\002\022\023\n\017Impor" - "tPersisted\020\005\022\021\n\rImportFlushed\020\010\022\023\n\017Impor" - "tCompleted\020\006\022\032\n\026ImportFailedAndCleaned\020\007" - "*2\n\nObjectType\022\016\n\nCollection\020\000\022\n\n\006Global" - "\020\001\022\010\n\004User\020\002*\227\007\n\017ObjectPrivilege\022\020\n\014Priv" - "ilegeAll\020\000\022\035\n\031PrivilegeCreateCollection\020" - "\001\022\033\n\027PrivilegeDropCollection\020\002\022\037\n\033Privil" - "egeDescribeCollection\020\003\022\034\n\030PrivilegeShow" - "Collections\020\004\022\021\n\rPrivilegeLoad\020\005\022\024\n\020Priv" - "ilegeRelease\020\006\022\027\n\023PrivilegeCompaction\020\007\022" - "\023\n\017PrivilegeInsert\020\010\022\023\n\017PrivilegeDelete\020" - "\t\022\032\n\026PrivilegeGetStatistics\020\n\022\030\n\024Privile" - "geCreateIndex\020\013\022\030\n\024PrivilegeIndexDetail\020" - "\014\022\026\n\022PrivilegeDropIndex\020\r\022\023\n\017PrivilegeSe" - "arch\020\016\022\022\n\016PrivilegeFlush\020\017\022\022\n\016PrivilegeQ" - "uery\020\020\022\030\n\024PrivilegeLoadBalance\020\021\022\023\n\017Priv" - "ilegeImport\020\022\022\034\n\030PrivilegeCreateOwnershi" - "p\020\023\022\027\n\023PrivilegeUpdateUser\020\024\022\032\n\026Privileg" - "eDropOwnership\020\025\022\034\n\030PrivilegeSelectOwner" - "ship\020\026\022\034\n\030PrivilegeManageOwnership\020\027\022\027\n\023" - "PrivilegeSelectUser\020\030\022\023\n\017PrivilegeUpsert" - "\020\031\022 \n\034PrivilegeCreateResourceGroup\020\032\022\036\n\032" - "PrivilegeDropResourceGroup\020\033\022\"\n\036Privileg" - "eDescribeResourceGroup\020\034\022\037\n\033PrivilegeLis" - "tResourceGroups\020\035\022\031\n\025PrivilegeTransferNo" - "de\020\036\022\034\n\030PrivilegeTransferReplica\020\037\022\037\n\033Pr" - "ivilegeGetLoadingProgress\020 \022\031\n\025Privilege" - "GetLoadState\020!*S\n\tStateCode\022\020\n\014Initializ" - "ing\020\000\022\013\n\007Healthy\020\001\022\014\n\010Abnormal\020\002\022\013\n\007Stan" - "dBy\020\003\022\014\n\010Stopping\020\004*c\n\tLoadState\022\025\n\021Load" - "StateNotExist\020\000\022\024\n\020LoadStateNotLoad\020\001\022\024\n" - "\020LoadStateLoading\020\002\022\023\n\017LoadStateLoaded\020\003" - ":^\n\021privilege_ext_obj\022\037.google.protobuf." - "MessageOptions\030\351\007 \001(\0132!.milvus.proto.com" - "mon.PrivilegeExtBf\n\016io.milvus.grpcB\013Comm" - "onProtoP\001Z1github.com/milvus-io/milvus-p" - "roto/go-api/commonpb\240\001\001\252\002\016IO.Milvus.Grpc" - "b\006proto3" + "\rDescribeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\027\n\022Get" + "IndexStatistics\020\257\002\022\013\n\006Insert\020\220\003\022\013\n\006Delet" + "e\020\221\003\022\n\n\005Flush\020\222\003\022\027\n\022ResendSegmentStats\020\223" + "\003\022\013\n\006Upsert\020\224\003\022\013\n\006Search\020\364\003\022\021\n\014SearchRes" + "ult\020\365\003\022\022\n\rGetIndexState\020\366\003\022\032\n\025GetIndexBu" + "ildProgress\020\367\003\022\034\n\027GetCollectionStatistic" + "s\020\370\003\022\033\n\026GetPartitionStatistics\020\371\003\022\r\n\010Ret" + "rieve\020\372\003\022\023\n\016RetrieveResult\020\373\003\022\024\n\017WatchDm" + "Channels\020\374\003\022\025\n\020RemoveDmChannels\020\375\003\022\027\n\022Wa" + "tchQueryChannels\020\376\003\022\030\n\023RemoveQueryChanne" + "ls\020\377\003\022\035\n\030SealedSegmentsChangeInfo\020\200\004\022\027\n\022" + "WatchDeltaChannels\020\201\004\022\024\n\017GetShardLeaders" + "\020\202\004\022\020\n\013GetReplicas\020\203\004\022\023\n\016UnsubDmChannel\020" + "\204\004\022\024\n\017GetDistribution\020\205\004\022\025\n\020SyncDistribu" + "tion\020\206\004\022\020\n\013SegmentInfo\020\330\004\022\017\n\nSystemInfo\020" + "\331\004\022\024\n\017GetRecoveryInfo\020\332\004\022\024\n\017GetSegmentSt" + "ate\020\333\004\022\r\n\010TimeTick\020\260\t\022\023\n\016QueryNodeStats\020" + "\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\tRequestID\020\263\t\022\017\n\nRe" + "questTSO\020\264\t\022\024\n\017AllocateSegment\020\265\t\022\026\n\021Seg" + "mentStatistics\020\266\t\022\025\n\020SegmentFlushDone\020\267\t" + "\022\017\n\nDataNodeTt\020\270\t\022\025\n\020CreateCredential\020\334\013" + "\022\022\n\rGetCredential\020\335\013\022\025\n\020DeleteCredential" + "\020\336\013\022\025\n\020UpdateCredential\020\337\013\022\026\n\021ListCredUs" + "ernames\020\340\013\022\017\n\nCreateRole\020\300\014\022\r\n\010DropRole\020" + "\301\014\022\024\n\017OperateUserRole\020\302\014\022\017\n\nSelectRole\020\303" + "\014\022\017\n\nSelectUser\020\304\014\022\023\n\016SelectResource\020\305\014\022" + "\025\n\020OperatePrivilege\020\306\014\022\020\n\013SelectGrant\020\307\014" + "\022\033\n\026RefreshPolicyInfoCache\020\310\014\022\017\n\nListPol" + "icy\020\311\014\022\030\n\023CreateResourceGroup\020\244\r\022\026\n\021Drop" + "ResourceGroup\020\245\r\022\027\n\022ListResourceGroups\020\246" + "\r\022\032\n\025DescribeResourceGroup\020\247\r\022\021\n\014Transfe" + "rNode\020\250\r\022\024\n\017TransferReplica\020\251\r*\"\n\007DslTyp" + "e\022\007\n\003Dsl\020\000\022\016\n\nBoolExprV1\020\001*B\n\017Compaction" + "State\022\021\n\rUndefiedState\020\000\022\r\n\tExecuting\020\001\022" + "\r\n\tCompleted\020\002*X\n\020ConsistencyLevel\022\n\n\006St" + "rong\020\000\022\013\n\007Session\020\001\022\013\n\007Bounded\020\002\022\016\n\nEven" + "tually\020\003\022\016\n\nCustomized\020\004*\236\001\n\013ImportState" + "\022\021\n\rImportPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n" + "\rImportStarted\020\002\022\023\n\017ImportPersisted\020\005\022\021\n" + "\rImportFlushed\020\010\022\023\n\017ImportCompleted\020\006\022\032\n" + "\026ImportFailedAndCleaned\020\007*2\n\nObjectType\022" + "\016\n\nCollection\020\000\022\n\n\006Global\020\001\022\010\n\004User\020\002*\227\007" + "\n\017ObjectPrivilege\022\020\n\014PrivilegeAll\020\000\022\035\n\031P" + "rivilegeCreateCollection\020\001\022\033\n\027PrivilegeD" + "ropCollection\020\002\022\037\n\033PrivilegeDescribeColl" + "ection\020\003\022\034\n\030PrivilegeShowCollections\020\004\022\021" + "\n\rPrivilegeLoad\020\005\022\024\n\020PrivilegeRelease\020\006\022" + "\027\n\023PrivilegeCompaction\020\007\022\023\n\017PrivilegeIns" + "ert\020\010\022\023\n\017PrivilegeDelete\020\t\022\032\n\026PrivilegeG" + "etStatistics\020\n\022\030\n\024PrivilegeCreateIndex\020\013" + "\022\030\n\024PrivilegeIndexDetail\020\014\022\026\n\022PrivilegeD" + "ropIndex\020\r\022\023\n\017PrivilegeSearch\020\016\022\022\n\016Privi" + "legeFlush\020\017\022\022\n\016PrivilegeQuery\020\020\022\030\n\024Privi" + "legeLoadBalance\020\021\022\023\n\017PrivilegeImport\020\022\022\034" + "\n\030PrivilegeCreateOwnership\020\023\022\027\n\023Privileg" + "eUpdateUser\020\024\022\032\n\026PrivilegeDropOwnership\020" + "\025\022\034\n\030PrivilegeSelectOwnership\020\026\022\034\n\030Privi" + "legeManageOwnership\020\027\022\027\n\023PrivilegeSelect" + "User\020\030\022\023\n\017PrivilegeUpsert\020\031\022 \n\034Privilege" + "CreateResourceGroup\020\032\022\036\n\032PrivilegeDropRe" + "sourceGroup\020\033\022\"\n\036PrivilegeDescribeResour" + "ceGroup\020\034\022\037\n\033PrivilegeListResourceGroups" + "\020\035\022\031\n\025PrivilegeTransferNode\020\036\022\034\n\030Privile" + "geTransferReplica\020\037\022\037\n\033PrivilegeGetLoadi" + "ngProgress\020 \022\031\n\025PrivilegeGetLoadState\020!*" + "S\n\tStateCode\022\020\n\014Initializing\020\000\022\013\n\007Health" + "y\020\001\022\014\n\010Abnormal\020\002\022\013\n\007StandBy\020\003\022\014\n\010Stoppi" + "ng\020\004*c\n\tLoadState\022\025\n\021LoadStateNotExist\020\000" + "\022\024\n\020LoadStateNotLoad\020\001\022\024\n\020LoadStateLoadi" + "ng\020\002\022\023\n\017LoadStateLoaded\020\003:^\n\021privilege_e" + "xt_obj\022\037.google.protobuf.MessageOptions\030" + "\351\007 \001(\0132!.milvus.proto.common.PrivilegeEx" + "tBf\n\016io.milvus.grpcB\013CommonProtoP\001Z1gith" + "ub.com/milvus-io/milvus-proto/go-api/com" + "monpb\240\001\001\252\002\016IO.Milvus.Grpcb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_common_2eproto_deps[1] = { &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, }; static ::_pbi::once_flag descriptor_table_common_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_common_2eproto = { - false, false, 6328, descriptor_table_protodef_common_2eproto, + false, false, 6353, descriptor_table_protodef_common_2eproto, "common.proto", &descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_deps, 1, 12, schemas, file_default_instances, TableStruct_common_2eproto::offsets, @@ -681,6 +681,7 @@ bool MsgType_IsValid(int value) { case 300: case 301: case 302: + case 303: case 400: case 401: case 402: diff --git a/internal/core/src/pb/common.pb.h b/internal/core/src/pb/common.pb.h index 2527b186c6..f1ecc6878e 100755 --- a/internal/core/src/pb/common.pb.h +++ b/internal/core/src/pb/common.pb.h @@ -310,6 +310,7 @@ enum MsgType : int { CreateIndex = 300, DescribeIndex = 301, DropIndex = 302, + GetIndexStatistics = 303, Insert = 400, Delete = 401, Flush = 402, diff --git a/internal/core/src/pb/schema.pb.cc b/internal/core/src/pb/schema.pb.cc index c44635849a..40303462ef 100755 --- a/internal/core/src/pb/schema.pb.cc +++ b/internal/core/src/pb/schema.pb.cc @@ -29,6 +29,7 @@ PROTOBUF_CONSTEXPR FieldSchema::FieldSchema( , /*decltype(_impl_.index_params_)*/{} , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.default_value_)*/nullptr , /*decltype(_impl_.fieldid_)*/int64_t{0} , /*decltype(_impl_.data_type_)*/0 , /*decltype(_impl_.is_primary_key_)*/false @@ -181,6 +182,20 @@ struct JSONArrayDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JSONArrayDefaultTypeInternal _JSONArray_default_instance_; +PROTOBUF_CONSTEXPR ValueField::ValueField( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.data_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct ValueFieldDefaultTypeInternal { + PROTOBUF_CONSTEXPR ValueFieldDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ValueFieldDefaultTypeInternal() {} + union { + ValueField _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueFieldDefaultTypeInternal _ValueField_default_instance_; PROTOBUF_CONSTEXPR ScalarField::ScalarField( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.data_)*/{} @@ -263,7 +278,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace schema } // namespace proto } // namespace milvus -static ::_pb::Metadata file_level_metadata_schema_2eproto[16]; +static ::_pb::Metadata file_level_metadata_schema_2eproto[17]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_schema_2eproto[2]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_schema_2eproto = nullptr; @@ -284,6 +299,7 @@ const uint32_t TableStruct_schema_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(p PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::FieldSchema, _impl_.autoid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::FieldSchema, _impl_.state_), PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::FieldSchema, _impl_.element_type_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::FieldSchema, _impl_.default_value_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::CollectionSchema, _internal_metadata_), ~0u, // no _extensions_ @@ -359,6 +375,20 @@ const uint32_t TableStruct_schema_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(p ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::JSONArray, _impl_.data_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::ValueField, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::ValueField, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::ValueField, _impl_.data_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::ScalarField, _internal_metadata_), ~0u, // no _extensions_ PROTOBUF_FIELD_OFFSET(::milvus::proto::schema::ScalarField, _impl_._oneof_case_[0]), @@ -420,21 +450,22 @@ const uint32_t TableStruct_schema_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(p }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::milvus::proto::schema::FieldSchema)}, - { 16, -1, -1, sizeof(::milvus::proto::schema::CollectionSchema)}, - { 26, -1, -1, sizeof(::milvus::proto::schema::BoolArray)}, - { 33, -1, -1, sizeof(::milvus::proto::schema::IntArray)}, - { 40, -1, -1, sizeof(::milvus::proto::schema::LongArray)}, - { 47, -1, -1, sizeof(::milvus::proto::schema::FloatArray)}, - { 54, -1, -1, sizeof(::milvus::proto::schema::DoubleArray)}, - { 61, -1, -1, sizeof(::milvus::proto::schema::BytesArray)}, - { 68, -1, -1, sizeof(::milvus::proto::schema::StringArray)}, - { 75, -1, -1, sizeof(::milvus::proto::schema::ArrayArray)}, - { 83, -1, -1, sizeof(::milvus::proto::schema::JSONArray)}, - { 90, -1, -1, sizeof(::milvus::proto::schema::ScalarField)}, - { 106, -1, -1, sizeof(::milvus::proto::schema::VectorField)}, - { 116, -1, -1, sizeof(::milvus::proto::schema::FieldData)}, - { 128, -1, -1, sizeof(::milvus::proto::schema::IDs)}, - { 137, -1, -1, sizeof(::milvus::proto::schema::SearchResultData)}, + { 17, -1, -1, sizeof(::milvus::proto::schema::CollectionSchema)}, + { 27, -1, -1, sizeof(::milvus::proto::schema::BoolArray)}, + { 34, -1, -1, sizeof(::milvus::proto::schema::IntArray)}, + { 41, -1, -1, sizeof(::milvus::proto::schema::LongArray)}, + { 48, -1, -1, sizeof(::milvus::proto::schema::FloatArray)}, + { 55, -1, -1, sizeof(::milvus::proto::schema::DoubleArray)}, + { 62, -1, -1, sizeof(::milvus::proto::schema::BytesArray)}, + { 69, -1, -1, sizeof(::milvus::proto::schema::StringArray)}, + { 76, -1, -1, sizeof(::milvus::proto::schema::ArrayArray)}, + { 84, -1, -1, sizeof(::milvus::proto::schema::JSONArray)}, + { 91, -1, -1, sizeof(::milvus::proto::schema::ValueField)}, + { 105, -1, -1, sizeof(::milvus::proto::schema::ScalarField)}, + { 121, -1, -1, sizeof(::milvus::proto::schema::VectorField)}, + { 131, -1, -1, sizeof(::milvus::proto::schema::FieldData)}, + { 143, -1, -1, sizeof(::milvus::proto::schema::IDs)}, + { 152, -1, -1, sizeof(::milvus::proto::schema::SearchResultData)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -449,6 +480,7 @@ static const ::_pb::Message* const file_default_instances[] = { &::milvus::proto::schema::_StringArray_default_instance_._instance, &::milvus::proto::schema::_ArrayArray_default_instance_._instance, &::milvus::proto::schema::_JSONArray_default_instance_._instance, + &::milvus::proto::schema::_ValueField_default_instance_._instance, &::milvus::proto::schema::_ScalarField_default_instance_._instance, &::milvus::proto::schema::_VectorField_default_instance_._instance, &::milvus::proto::schema::_FieldData_default_instance_._instance, @@ -458,7 +490,7 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_schema_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\014schema.proto\022\023milvus.proto.schema\032\014com" - "mon.proto\"\361\002\n\013FieldSchema\022\017\n\007fieldID\030\001 \001" + "mon.proto\"\251\003\n\013FieldSchema\022\017\n\007fieldID\030\001 \001" "(\003\022\014\n\004name\030\002 \001(\t\022\026\n\016is_primary_key\030\003 \001(\010" "\022\023\n\013description\030\004 \001(\t\0220\n\tdata_type\030\005 \001(\016" "2\035.milvus.proto.schema.DataType\0226\n\013type_" @@ -467,66 +499,71 @@ const char descriptor_table_protodef_schema_2eproto[] PROTOBUF_SECTION_VARIABLE( "roto.common.KeyValuePair\022\016\n\006autoID\030\010 \001(\010" "\022.\n\005state\030\t \001(\0162\037.milvus.proto.schema.Fi" "eldState\0223\n\014element_type\030\n \001(\0162\035.milvus." - "proto.schema.DataType\"w\n\020CollectionSchem" - "a\022\014\n\004name\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\022\016\n\006" - "autoID\030\003 \001(\010\0220\n\006fields\030\004 \003(\0132 .milvus.pr" - "oto.schema.FieldSchema\"\031\n\tBoolArray\022\014\n\004d" - "ata\030\001 \003(\010\"\030\n\010IntArray\022\014\n\004data\030\001 \003(\005\"\031\n\tL" - "ongArray\022\014\n\004data\030\001 \003(\003\"\032\n\nFloatArray\022\014\n\004" - "data\030\001 \003(\002\"\033\n\013DoubleArray\022\014\n\004data\030\001 \003(\001\"" - "\032\n\nBytesArray\022\014\n\004data\030\001 \003(\014\"\033\n\013StringArr" - "ay\022\014\n\004data\030\001 \003(\t\"q\n\nArrayArray\022.\n\004data\030\001" - " \003(\0132 .milvus.proto.schema.ScalarField\0223" - "\n\014element_type\030\002 \001(\0162\035.milvus.proto.sche" - "ma.DataType\"\031\n\tJSONArray\022\014\n\004data\030\001 \003(\014\"\376" - "\003\n\013ScalarField\0223\n\tbool_data\030\001 \001(\0132\036.milv" - "us.proto.schema.BoolArrayH\000\0221\n\010int_data\030" - "\002 \001(\0132\035.milvus.proto.schema.IntArrayH\000\0223" - "\n\tlong_data\030\003 \001(\0132\036.milvus.proto.schema." - "LongArrayH\000\0225\n\nfloat_data\030\004 \001(\0132\037.milvus" - ".proto.schema.FloatArrayH\000\0227\n\013double_dat" - "a\030\005 \001(\0132 .milvus.proto.schema.DoubleArra" - "yH\000\0227\n\013string_data\030\006 \001(\0132 .milvus.proto." - "schema.StringArrayH\000\0225\n\nbytes_data\030\007 \001(\013" - "2\037.milvus.proto.schema.BytesArrayH\000\0225\n\na" - "rray_data\030\010 \001(\0132\037.milvus.proto.schema.Ar" - "rayArrayH\000\0223\n\tjson_data\030\t \001(\0132\036.milvus.p" - "roto.schema.JSONArrayH\000B\006\n\004data\"t\n\013Vecto" - "rField\022\013\n\003dim\030\001 \001(\003\0227\n\014float_vector\030\002 \001(" - "\0132\037.milvus.proto.schema.FloatArrayH\000\022\027\n\r" - "binary_vector\030\003 \001(\014H\000B\006\n\004data\"\321\001\n\tFieldD" - "ata\022+\n\004type\030\001 \001(\0162\035.milvus.proto.schema." - "DataType\022\022\n\nfield_name\030\002 \001(\t\0223\n\007scalars\030" - "\003 \001(\0132 .milvus.proto.schema.ScalarFieldH" - "\000\0223\n\007vectors\030\004 \001(\0132 .milvus.proto.schema" - ".VectorFieldH\000\022\020\n\010field_id\030\005 \001(\003B\007\n\005fiel" - "d\"w\n\003IDs\0220\n\006int_id\030\001 \001(\0132\036.milvus.proto." - "schema.LongArrayH\000\0222\n\006str_id\030\002 \001(\0132 .mil" - "vus.proto.schema.StringArrayH\000B\n\n\010id_fie" - "ld\"\261\001\n\020SearchResultData\022\023\n\013num_queries\030\001" - " \001(\003\022\r\n\005top_k\030\002 \001(\003\0223\n\013fields_data\030\003 \003(\013" - "2\036.milvus.proto.schema.FieldData\022\016\n\006scor" - "es\030\004 \003(\002\022%\n\003ids\030\005 \001(\0132\030.milvus.proto.sch" - "ema.IDs\022\r\n\005topks\030\006 \003(\003*\261\001\n\010DataType\022\010\n\004N" - "one\020\000\022\010\n\004Bool\020\001\022\010\n\004Int8\020\002\022\t\n\005Int16\020\003\022\t\n\005" - "Int32\020\004\022\t\n\005Int64\020\005\022\t\n\005Float\020\n\022\n\n\006Double\020" - "\013\022\n\n\006String\020\024\022\013\n\007VarChar\020\025\022\t\n\005Array\020\026\022\010\n" - "\004JSON\020\027\022\020\n\014BinaryVector\020d\022\017\n\013FloatVector" - "\020e*V\n\nFieldState\022\020\n\014FieldCreated\020\000\022\021\n\rFi" - "eldCreating\020\001\022\021\n\rFieldDropping\020\002\022\020\n\014Fiel" - "dDropped\020\003Bf\n\016io.milvus.grpcB\013SchemaProt" - "oP\001Z1github.com/milvus-io/milvus-proto/g" - "o-api/schemapb\240\001\001\252\002\016IO.Milvus.Grpcb\006prot" - "o3" + "proto.schema.DataType\0226\n\rdefault_value\030\013" + " \001(\0132\037.milvus.proto.schema.ValueField\"w\n" + "\020CollectionSchema\022\014\n\004name\030\001 \001(\t\022\023\n\013descr" + "iption\030\002 \001(\t\022\016\n\006autoID\030\003 \001(\010\0220\n\006fields\030\004" + " \003(\0132 .milvus.proto.schema.FieldSchema\"\031" + "\n\tBoolArray\022\014\n\004data\030\001 \003(\010\"\030\n\010IntArray\022\014\n" + "\004data\030\001 \003(\005\"\031\n\tLongArray\022\014\n\004data\030\001 \003(\003\"\032" + "\n\nFloatArray\022\014\n\004data\030\001 \003(\002\"\033\n\013DoubleArra" + "y\022\014\n\004data\030\001 \003(\001\"\032\n\nBytesArray\022\014\n\004data\030\001 " + "\003(\014\"\033\n\013StringArray\022\014\n\004data\030\001 \003(\t\"q\n\nArra" + "yArray\022.\n\004data\030\001 \003(\0132 .milvus.proto.sche" + "ma.ScalarField\0223\n\014element_type\030\002 \001(\0162\035.m" + "ilvus.proto.schema.DataType\"\031\n\tJSONArray" + "\022\014\n\004data\030\001 \003(\014\"\254\001\n\nValueField\022\023\n\tbool_da" + "ta\030\001 \001(\010H\000\022\022\n\010int_data\030\002 \001(\005H\000\022\023\n\tlong_d" + "ata\030\003 \001(\003H\000\022\024\n\nfloat_data\030\004 \001(\002H\000\022\025\n\013dou" + "ble_data\030\005 \001(\001H\000\022\025\n\013string_data\030\006 \001(\tH\000\022" + "\024\n\nbytes_data\030\007 \001(\014H\000B\006\n\004data\"\376\003\n\013Scalar" + "Field\0223\n\tbool_data\030\001 \001(\0132\036.milvus.proto." + "schema.BoolArrayH\000\0221\n\010int_data\030\002 \001(\0132\035.m" + "ilvus.proto.schema.IntArrayH\000\0223\n\tlong_da" + "ta\030\003 \001(\0132\036.milvus.proto.schema.LongArray" + "H\000\0225\n\nfloat_data\030\004 \001(\0132\037.milvus.proto.sc" + "hema.FloatArrayH\000\0227\n\013double_data\030\005 \001(\0132 " + ".milvus.proto.schema.DoubleArrayH\000\0227\n\013st" + "ring_data\030\006 \001(\0132 .milvus.proto.schema.St" + "ringArrayH\000\0225\n\nbytes_data\030\007 \001(\0132\037.milvus" + ".proto.schema.BytesArrayH\000\0225\n\narray_data" + "\030\010 \001(\0132\037.milvus.proto.schema.ArrayArrayH" + "\000\0223\n\tjson_data\030\t \001(\0132\036.milvus.proto.sche" + "ma.JSONArrayH\000B\006\n\004data\"t\n\013VectorField\022\013\n" + "\003dim\030\001 \001(\003\0227\n\014float_vector\030\002 \001(\0132\037.milvu" + "s.proto.schema.FloatArrayH\000\022\027\n\rbinary_ve" + "ctor\030\003 \001(\014H\000B\006\n\004data\"\321\001\n\tFieldData\022+\n\004ty" + "pe\030\001 \001(\0162\035.milvus.proto.schema.DataType\022" + "\022\n\nfield_name\030\002 \001(\t\0223\n\007scalars\030\003 \001(\0132 .m" + "ilvus.proto.schema.ScalarFieldH\000\0223\n\007vect" + "ors\030\004 \001(\0132 .milvus.proto.schema.VectorFi" + "eldH\000\022\020\n\010field_id\030\005 \001(\003B\007\n\005field\"w\n\003IDs\022" + "0\n\006int_id\030\001 \001(\0132\036.milvus.proto.schema.Lo" + "ngArrayH\000\0222\n\006str_id\030\002 \001(\0132 .milvus.proto" + ".schema.StringArrayH\000B\n\n\010id_field\"\261\001\n\020Se" + "archResultData\022\023\n\013num_queries\030\001 \001(\003\022\r\n\005t" + "op_k\030\002 \001(\003\0223\n\013fields_data\030\003 \003(\0132\036.milvus" + ".proto.schema.FieldData\022\016\n\006scores\030\004 \003(\002\022" + "%\n\003ids\030\005 \001(\0132\030.milvus.proto.schema.IDs\022\r" + "\n\005topks\030\006 \003(\003*\261\001\n\010DataType\022\010\n\004None\020\000\022\010\n\004" + "Bool\020\001\022\010\n\004Int8\020\002\022\t\n\005Int16\020\003\022\t\n\005Int32\020\004\022\t" + "\n\005Int64\020\005\022\t\n\005Float\020\n\022\n\n\006Double\020\013\022\n\n\006Stri" + "ng\020\024\022\013\n\007VarChar\020\025\022\t\n\005Array\020\026\022\010\n\004JSON\020\027\022\020" + "\n\014BinaryVector\020d\022\017\n\013FloatVector\020e*V\n\nFie" + "ldState\022\020\n\014FieldCreated\020\000\022\021\n\rFieldCreati" + "ng\020\001\022\021\n\rFieldDropping\020\002\022\020\n\014FieldDropped\020" + "\003Bf\n\016io.milvus.grpcB\013SchemaProtoP\001Z1gith" + "ub.com/milvus-io/milvus-proto/go-api/sch" + "emapb\240\001\001\252\002\016IO.Milvus.Grpcb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_schema_2eproto_deps[1] = { &::descriptor_table_common_2eproto, }; static ::_pbi::once_flag descriptor_table_schema_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_schema_2eproto = { - false, false, 2402, descriptor_table_protodef_schema_2eproto, + false, false, 2633, descriptor_table_protodef_schema_2eproto, "schema.proto", - &descriptor_table_schema_2eproto_once, descriptor_table_schema_2eproto_deps, 1, 16, + &descriptor_table_schema_2eproto_once, descriptor_table_schema_2eproto_deps, 1, 17, schemas, file_default_instances, TableStruct_schema_2eproto::offsets, file_level_metadata_schema_2eproto, file_level_enum_descriptors_schema_2eproto, file_level_service_descriptors_schema_2eproto, @@ -587,8 +624,13 @@ bool FieldState_IsValid(int value) { class FieldSchema::_Internal { public: + static const ::milvus::proto::schema::ValueField& default_value(const FieldSchema* msg); }; +const ::milvus::proto::schema::ValueField& +FieldSchema::_Internal::default_value(const FieldSchema* msg) { + return *msg->_impl_.default_value_; +} void FieldSchema::clear_type_params() { _impl_.type_params_.Clear(); } @@ -609,6 +651,7 @@ FieldSchema::FieldSchema(const FieldSchema& from) , decltype(_impl_.index_params_){from._impl_.index_params_} , decltype(_impl_.name_){} , decltype(_impl_.description_){} + , decltype(_impl_.default_value_){nullptr} , decltype(_impl_.fieldid_){} , decltype(_impl_.data_type_){} , decltype(_impl_.is_primary_key_){} @@ -634,6 +677,9 @@ FieldSchema::FieldSchema(const FieldSchema& from) _this->_impl_.description_.Set(from._internal_description(), _this->GetArenaForAllocation()); } + if (from._internal_has_default_value()) { + _this->_impl_.default_value_ = new ::milvus::proto::schema::ValueField(*from._impl_.default_value_); + } ::memcpy(&_impl_.fieldid_, &from._impl_.fieldid_, static_cast(reinterpret_cast(&_impl_.element_type_) - reinterpret_cast(&_impl_.fieldid_)) + sizeof(_impl_.element_type_)); @@ -649,6 +695,7 @@ inline void FieldSchema::SharedCtor( , decltype(_impl_.index_params_){arena} , decltype(_impl_.name_){} , decltype(_impl_.description_){} + , decltype(_impl_.default_value_){nullptr} , decltype(_impl_.fieldid_){int64_t{0}} , decltype(_impl_.data_type_){0} , decltype(_impl_.is_primary_key_){false} @@ -682,6 +729,7 @@ inline void FieldSchema::SharedDtor() { _impl_.index_params_.~RepeatedPtrField(); _impl_.name_.Destroy(); _impl_.description_.Destroy(); + if (this != internal_default_instance()) delete _impl_.default_value_; } void FieldSchema::SetCachedSize(int size) const { @@ -698,6 +746,10 @@ void FieldSchema::Clear() { _impl_.index_params_.Clear(); _impl_.name_.ClearToEmpty(); _impl_.description_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.default_value_ != nullptr) { + delete _impl_.default_value_; + } + _impl_.default_value_ = nullptr; ::memset(&_impl_.fieldid_, 0, static_cast( reinterpret_cast(&_impl_.element_type_) - reinterpret_cast(&_impl_.fieldid_)) + sizeof(_impl_.element_type_)); @@ -807,6 +859,14 @@ const char* FieldSchema::_InternalParse(const char* ptr, ::_pbi::ParseContext* c } else goto handle_unusual; continue; + // .milvus.proto.schema.ValueField default_value = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + ptr = ctx->ParseMessage(_internal_mutable_default_value(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -911,6 +971,13 @@ uint8_t* FieldSchema::_InternalSerialize( 10, this->_internal_element_type(), target); } + // .milvus.proto.schema.ValueField default_value = 11; + if (this->_internal_has_default_value()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(11, _Internal::default_value(this), + _Internal::default_value(this).GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -955,6 +1022,13 @@ size_t FieldSchema::ByteSizeLong() const { this->_internal_description()); } + // .milvus.proto.schema.ValueField default_value = 11; + if (this->_internal_has_default_value()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.default_value_); + } + // int64 fieldID = 1; if (this->_internal_fieldid() != 0) { total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_fieldid()); @@ -1014,6 +1088,10 @@ void FieldSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PR if (!from._internal_description().empty()) { _this->_internal_set_description(from._internal_description()); } + if (from._internal_has_default_value()) { + _this->_internal_mutable_default_value()->::milvus::proto::schema::ValueField::MergeFrom( + from._internal_default_value()); + } if (from._internal_fieldid() != 0) { _this->_internal_set_fieldid(from._internal_fieldid()); } @@ -1064,9 +1142,9 @@ void FieldSchema::InternalSwap(FieldSchema* other) { ::PROTOBUF_NAMESPACE_ID::internal::memswap< PROTOBUF_FIELD_OFFSET(FieldSchema, _impl_.element_type_) + sizeof(FieldSchema::_impl_.element_type_) - - PROTOBUF_FIELD_OFFSET(FieldSchema, _impl_.fieldid_)>( - reinterpret_cast(&_impl_.fieldid_), - reinterpret_cast(&other->_impl_.fieldid_)); + - PROTOBUF_FIELD_OFFSET(FieldSchema, _impl_.default_value_)>( + reinterpret_cast(&_impl_.default_value_), + reinterpret_cast(&other->_impl_.default_value_)); } ::PROTOBUF_NAMESPACE_ID::Metadata FieldSchema::GetMetadata() const { @@ -3104,6 +3182,423 @@ void JSONArray::InternalSwap(JSONArray* other) { // =================================================================== +class ValueField::_Internal { + public: +}; + +ValueField::ValueField(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:milvus.proto.schema.ValueField) +} +ValueField::ValueField(const ValueField& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ValueField* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_data(); + switch (from.data_case()) { + case kBoolData: { + _this->_internal_set_bool_data(from._internal_bool_data()); + break; + } + case kIntData: { + _this->_internal_set_int_data(from._internal_int_data()); + break; + } + case kLongData: { + _this->_internal_set_long_data(from._internal_long_data()); + break; + } + case kFloatData: { + _this->_internal_set_float_data(from._internal_float_data()); + break; + } + case kDoubleData: { + _this->_internal_set_double_data(from._internal_double_data()); + break; + } + case kStringData: { + _this->_internal_set_string_data(from._internal_string_data()); + break; + } + case kBytesData: { + _this->_internal_set_bytes_data(from._internal_bytes_data()); + break; + } + case DATA_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:milvus.proto.schema.ValueField) +} + +inline void ValueField::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + clear_has_data(); +} + +ValueField::~ValueField() { + // @@protoc_insertion_point(destructor:milvus.proto.schema.ValueField) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ValueField::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_data()) { + clear_data(); + } +} + +void ValueField::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ValueField::clear_data() { +// @@protoc_insertion_point(one_of_clear_start:milvus.proto.schema.ValueField) + switch (data_case()) { + case kBoolData: { + // No need to clear + break; + } + case kIntData: { + // No need to clear + break; + } + case kLongData: { + // No need to clear + break; + } + case kFloatData: { + // No need to clear + break; + } + case kDoubleData: { + // No need to clear + break; + } + case kStringData: { + _impl_.data_.string_data_.Destroy(); + break; + } + case kBytesData: { + _impl_.data_.bytes_data_.Destroy(); + break; + } + case DATA_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = DATA_NOT_SET; +} + + +void ValueField::Clear() { +// @@protoc_insertion_point(message_clear_start:milvus.proto.schema.ValueField) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_data(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ValueField::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // bool bool_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _internal_set_bool_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 int_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _internal_set_int_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int64 long_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _internal_set_long_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // float float_data = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _internal_set_float_data(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr)); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // double double_data = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 41)) { + _internal_set_double_data(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr)); + ptr += sizeof(double); + } else + goto handle_unusual; + continue; + // string string_data = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_string_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "milvus.proto.schema.ValueField.string_data")); + } else + goto handle_unusual; + continue; + // bytes bytes_data = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_bytes_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ValueField::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:milvus.proto.schema.ValueField) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bool bool_data = 1; + if (_internal_has_bool_data()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_bool_data(), target); + } + + // int32 int_data = 2; + if (_internal_has_int_data()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_int_data(), target); + } + + // int64 long_data = 3; + if (_internal_has_long_data()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray(3, this->_internal_long_data(), target); + } + + // float float_data = 4; + if (_internal_has_float_data()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_float_data(), target); + } + + // double double_data = 5; + if (_internal_has_double_data()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray(5, this->_internal_double_data(), target); + } + + // string string_data = 6; + if (_internal_has_string_data()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_string_data().data(), static_cast(this->_internal_string_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "milvus.proto.schema.ValueField.string_data"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_string_data(), target); + } + + // bytes bytes_data = 7; + if (_internal_has_bytes_data()) { + target = stream->WriteBytesMaybeAliased( + 7, this->_internal_bytes_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:milvus.proto.schema.ValueField) + return target; +} + +size_t ValueField::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:milvus.proto.schema.ValueField) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (data_case()) { + // bool bool_data = 1; + case kBoolData: { + total_size += 1 + 1; + break; + } + // int32 int_data = 2; + case kIntData: { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_int_data()); + break; + } + // int64 long_data = 3; + case kLongData: { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_long_data()); + break; + } + // float float_data = 4; + case kFloatData: { + total_size += 1 + 4; + break; + } + // double double_data = 5; + case kDoubleData: { + total_size += 1 + 8; + break; + } + // string string_data = 6; + case kStringData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_string_data()); + break; + } + // bytes bytes_data = 7; + case kBytesData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_bytes_data()); + break; + } + case DATA_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ValueField::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ValueField::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ValueField::GetClassData() const { return &_class_data_; } + + +void ValueField::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.schema.ValueField) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.data_case()) { + case kBoolData: { + _this->_internal_set_bool_data(from._internal_bool_data()); + break; + } + case kIntData: { + _this->_internal_set_int_data(from._internal_int_data()); + break; + } + case kLongData: { + _this->_internal_set_long_data(from._internal_long_data()); + break; + } + case kFloatData: { + _this->_internal_set_float_data(from._internal_float_data()); + break; + } + case kDoubleData: { + _this->_internal_set_double_data(from._internal_double_data()); + break; + } + case kStringData: { + _this->_internal_set_string_data(from._internal_string_data()); + break; + } + case kBytesData: { + _this->_internal_set_bytes_data(from._internal_bytes_data()); + break; + } + case DATA_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ValueField::CopyFrom(const ValueField& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.schema.ValueField) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ValueField::IsInitialized() const { + return true; +} + +void ValueField::InternalSwap(ValueField* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.data_, other->_impl_.data_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ValueField::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, + file_level_metadata_schema_2eproto[11]); +} + +// =================================================================== + class ScalarField::_Internal { public: static const ::milvus::proto::schema::BoolArray& bool_data(const ScalarField* msg); @@ -3810,7 +4305,7 @@ void ScalarField::InternalSwap(ScalarField* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ScalarField::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, - file_level_metadata_schema_2eproto[11]); + file_level_metadata_schema_2eproto[12]); } // =================================================================== @@ -4118,7 +4613,7 @@ void VectorField::InternalSwap(VectorField* other) { ::PROTOBUF_NAMESPACE_ID::Metadata VectorField::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, - file_level_metadata_schema_2eproto[12]); + file_level_metadata_schema_2eproto[13]); } // =================================================================== @@ -4538,7 +5033,7 @@ void FieldData::InternalSwap(FieldData* other) { ::PROTOBUF_NAMESPACE_ID::Metadata FieldData::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, - file_level_metadata_schema_2eproto[13]); + file_level_metadata_schema_2eproto[14]); } // =================================================================== @@ -4843,7 +5338,7 @@ void IDs::InternalSwap(IDs* other) { ::PROTOBUF_NAMESPACE_ID::Metadata IDs::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, - file_level_metadata_schema_2eproto[14]); + file_level_metadata_schema_2eproto[15]); } // =================================================================== @@ -5204,7 +5699,7 @@ void SearchResultData::InternalSwap(SearchResultData* other) { ::PROTOBUF_NAMESPACE_ID::Metadata SearchResultData::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_schema_2eproto_getter, &descriptor_table_schema_2eproto_once, - file_level_metadata_schema_2eproto[15]); + file_level_metadata_schema_2eproto[16]); } // @@protoc_insertion_point(namespace_scope) @@ -5256,6 +5751,10 @@ template<> PROTOBUF_NOINLINE ::milvus::proto::schema::JSONArray* Arena::CreateMaybeMessage< ::milvus::proto::schema::JSONArray >(Arena* arena) { return Arena::CreateMessageInternal< ::milvus::proto::schema::JSONArray >(arena); } +template<> PROTOBUF_NOINLINE ::milvus::proto::schema::ValueField* +Arena::CreateMaybeMessage< ::milvus::proto::schema::ValueField >(Arena* arena) { + return Arena::CreateMessageInternal< ::milvus::proto::schema::ValueField >(arena); +} template<> PROTOBUF_NOINLINE ::milvus::proto::schema::ScalarField* Arena::CreateMaybeMessage< ::milvus::proto::schema::ScalarField >(Arena* arena) { return Arena::CreateMessageInternal< ::milvus::proto::schema::ScalarField >(arena); diff --git a/internal/core/src/pb/schema.pb.h b/internal/core/src/pb/schema.pb.h index 1af1abdeff..b6cf68694e 100755 --- a/internal/core/src/pb/schema.pb.h +++ b/internal/core/src/pb/schema.pb.h @@ -94,6 +94,9 @@ extern SearchResultDataDefaultTypeInternal _SearchResultData_default_instance_; class StringArray; struct StringArrayDefaultTypeInternal; extern StringArrayDefaultTypeInternal _StringArray_default_instance_; +class ValueField; +struct ValueFieldDefaultTypeInternal; +extern ValueFieldDefaultTypeInternal _ValueField_default_instance_; class VectorField; struct VectorFieldDefaultTypeInternal; extern VectorFieldDefaultTypeInternal _VectorField_default_instance_; @@ -116,6 +119,7 @@ template<> ::milvus::proto::schema::LongArray* Arena::CreateMaybeMessage<::milvu template<> ::milvus::proto::schema::ScalarField* Arena::CreateMaybeMessage<::milvus::proto::schema::ScalarField>(Arena*); template<> ::milvus::proto::schema::SearchResultData* Arena::CreateMaybeMessage<::milvus::proto::schema::SearchResultData>(Arena*); template<> ::milvus::proto::schema::StringArray* Arena::CreateMaybeMessage<::milvus::proto::schema::StringArray>(Arena*); +template<> ::milvus::proto::schema::ValueField* Arena::CreateMaybeMessage<::milvus::proto::schema::ValueField>(Arena*); template<> ::milvus::proto::schema::VectorField* Arena::CreateMaybeMessage<::milvus::proto::schema::VectorField>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace milvus { @@ -313,6 +317,7 @@ class FieldSchema final : kIndexParamsFieldNumber = 7, kNameFieldNumber = 2, kDescriptionFieldNumber = 4, + kDefaultValueFieldNumber = 11, kFieldIDFieldNumber = 1, kDataTypeFieldNumber = 5, kIsPrimaryKeyFieldNumber = 3, @@ -384,6 +389,24 @@ class FieldSchema final : std::string* _internal_mutable_description(); public: + // .milvus.proto.schema.ValueField default_value = 11; + bool has_default_value() const; + private: + bool _internal_has_default_value() const; + public: + void clear_default_value(); + const ::milvus::proto::schema::ValueField& default_value() const; + PROTOBUF_NODISCARD ::milvus::proto::schema::ValueField* release_default_value(); + ::milvus::proto::schema::ValueField* mutable_default_value(); + void set_allocated_default_value(::milvus::proto::schema::ValueField* default_value); + private: + const ::milvus::proto::schema::ValueField& _internal_default_value() const; + ::milvus::proto::schema::ValueField* _internal_mutable_default_value(); + public: + void unsafe_arena_set_allocated_default_value( + ::milvus::proto::schema::ValueField* default_value); + ::milvus::proto::schema::ValueField* unsafe_arena_release_default_value(); + // int64 fieldID = 1; void clear_fieldid(); int64_t fieldid() const; @@ -450,6 +473,7 @@ class FieldSchema final : ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair > index_params_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_; + ::milvus::proto::schema::ValueField* default_value_; int64_t fieldid_; int data_type_; bool is_primary_key_; @@ -2127,6 +2151,287 @@ class JSONArray final : }; // ------------------------------------------------------------------- +class ValueField final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.schema.ValueField) */ { + public: + inline ValueField() : ValueField(nullptr) {} + ~ValueField() override; + explicit PROTOBUF_CONSTEXPR ValueField(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ValueField(const ValueField& from); + ValueField(ValueField&& from) noexcept + : ValueField() { + *this = ::std::move(from); + } + + inline ValueField& operator=(const ValueField& from) { + CopyFrom(from); + return *this; + } + inline ValueField& operator=(ValueField&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ValueField& default_instance() { + return *internal_default_instance(); + } + enum DataCase { + kBoolData = 1, + kIntData = 2, + kLongData = 3, + kFloatData = 4, + kDoubleData = 5, + kStringData = 6, + kBytesData = 7, + DATA_NOT_SET = 0, + }; + + static inline const ValueField* internal_default_instance() { + return reinterpret_cast( + &_ValueField_default_instance_); + } + static constexpr int kIndexInFileMessages = + 11; + + friend void swap(ValueField& a, ValueField& b) { + a.Swap(&b); + } + inline void Swap(ValueField* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ValueField* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ValueField* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ValueField& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ValueField& from) { + ValueField::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ValueField* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "milvus.proto.schema.ValueField"; + } + protected: + explicit ValueField(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBoolDataFieldNumber = 1, + kIntDataFieldNumber = 2, + kLongDataFieldNumber = 3, + kFloatDataFieldNumber = 4, + kDoubleDataFieldNumber = 5, + kStringDataFieldNumber = 6, + kBytesDataFieldNumber = 7, + }; + // bool bool_data = 1; + bool has_bool_data() const; + private: + bool _internal_has_bool_data() const; + public: + void clear_bool_data(); + bool bool_data() const; + void set_bool_data(bool value); + private: + bool _internal_bool_data() const; + void _internal_set_bool_data(bool value); + public: + + // int32 int_data = 2; + bool has_int_data() const; + private: + bool _internal_has_int_data() const; + public: + void clear_int_data(); + int32_t int_data() const; + void set_int_data(int32_t value); + private: + int32_t _internal_int_data() const; + void _internal_set_int_data(int32_t value); + public: + + // int64 long_data = 3; + bool has_long_data() const; + private: + bool _internal_has_long_data() const; + public: + void clear_long_data(); + int64_t long_data() const; + void set_long_data(int64_t value); + private: + int64_t _internal_long_data() const; + void _internal_set_long_data(int64_t value); + public: + + // float float_data = 4; + bool has_float_data() const; + private: + bool _internal_has_float_data() const; + public: + void clear_float_data(); + float float_data() const; + void set_float_data(float value); + private: + float _internal_float_data() const; + void _internal_set_float_data(float value); + public: + + // double double_data = 5; + bool has_double_data() const; + private: + bool _internal_has_double_data() const; + public: + void clear_double_data(); + double double_data() const; + void set_double_data(double value); + private: + double _internal_double_data() const; + void _internal_set_double_data(double value); + public: + + // string string_data = 6; + bool has_string_data() const; + private: + bool _internal_has_string_data() const; + public: + void clear_string_data(); + const std::string& string_data() const; + template + void set_string_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_string_data(); + PROTOBUF_NODISCARD std::string* release_string_data(); + void set_allocated_string_data(std::string* string_data); + private: + const std::string& _internal_string_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_string_data(const std::string& value); + std::string* _internal_mutable_string_data(); + public: + + // bytes bytes_data = 7; + bool has_bytes_data() const; + private: + bool _internal_has_bytes_data() const; + public: + void clear_bytes_data(); + const std::string& bytes_data() const; + template + void set_bytes_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_bytes_data(); + PROTOBUF_NODISCARD std::string* release_bytes_data(); + void set_allocated_bytes_data(std::string* bytes_data); + private: + const std::string& _internal_bytes_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bytes_data(const std::string& value); + std::string* _internal_mutable_bytes_data(); + public: + + void clear_data(); + DataCase data_case() const; + // @@protoc_insertion_point(class_scope:milvus.proto.schema.ValueField) + private: + class _Internal; + void set_has_bool_data(); + void set_has_int_data(); + void set_has_long_data(); + void set_has_float_data(); + void set_has_double_data(); + void set_has_string_data(); + void set_has_bytes_data(); + + inline bool has_data() const; + inline void clear_has_data(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + union DataUnion { + constexpr DataUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + bool bool_data_; + int32_t int_data_; + int64_t long_data_; + float float_data_; + double double_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bytes_data_; + } data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_schema_2eproto; +}; +// ------------------------------------------------------------------- + class ScalarField final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.schema.ScalarField) */ { public: @@ -2188,7 +2493,7 @@ class ScalarField final : &_ScalarField_default_instance_); } static constexpr int kIndexInFileMessages = - 11; + 12; friend void swap(ScalarField& a, ScalarField& b) { a.Swap(&b); @@ -2531,7 +2836,7 @@ class VectorField final : &_VectorField_default_instance_); } static constexpr int kIndexInFileMessages = - 12; + 13; friend void swap(VectorField& a, VectorField& b) { a.Swap(&b); @@ -2738,7 +3043,7 @@ class FieldData final : &_FieldData_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 14; friend void swap(FieldData& a, FieldData& b) { a.Swap(&b); @@ -2972,7 +3277,7 @@ class IDs final : &_IDs_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 15; friend void swap(IDs& a, IDs& b) { a.Swap(&b); @@ -3162,7 +3467,7 @@ class SearchResultData final : &_SearchResultData_default_instance_); } static constexpr int kIndexInFileMessages = - 15; + 16; friend void swap(SearchResultData& a, SearchResultData& b) { a.Swap(&b); @@ -3665,6 +3970,96 @@ inline void FieldSchema::set_element_type(::milvus::proto::schema::DataType valu // @@protoc_insertion_point(field_set:milvus.proto.schema.FieldSchema.element_type) } +// .milvus.proto.schema.ValueField default_value = 11; +inline bool FieldSchema::_internal_has_default_value() const { + return this != internal_default_instance() && _impl_.default_value_ != nullptr; +} +inline bool FieldSchema::has_default_value() const { + return _internal_has_default_value(); +} +inline void FieldSchema::clear_default_value() { + if (GetArenaForAllocation() == nullptr && _impl_.default_value_ != nullptr) { + delete _impl_.default_value_; + } + _impl_.default_value_ = nullptr; +} +inline const ::milvus::proto::schema::ValueField& FieldSchema::_internal_default_value() const { + const ::milvus::proto::schema::ValueField* p = _impl_.default_value_; + return p != nullptr ? *p : reinterpret_cast( + ::milvus::proto::schema::_ValueField_default_instance_); +} +inline const ::milvus::proto::schema::ValueField& FieldSchema::default_value() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.FieldSchema.default_value) + return _internal_default_value(); +} +inline void FieldSchema::unsafe_arena_set_allocated_default_value( + ::milvus::proto::schema::ValueField* default_value) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.default_value_); + } + _impl_.default_value_ = default_value; + if (default_value) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:milvus.proto.schema.FieldSchema.default_value) +} +inline ::milvus::proto::schema::ValueField* FieldSchema::release_default_value() { + + ::milvus::proto::schema::ValueField* temp = _impl_.default_value_; + _impl_.default_value_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::milvus::proto::schema::ValueField* FieldSchema::unsafe_arena_release_default_value() { + // @@protoc_insertion_point(field_release:milvus.proto.schema.FieldSchema.default_value) + + ::milvus::proto::schema::ValueField* temp = _impl_.default_value_; + _impl_.default_value_ = nullptr; + return temp; +} +inline ::milvus::proto::schema::ValueField* FieldSchema::_internal_mutable_default_value() { + + if (_impl_.default_value_ == nullptr) { + auto* p = CreateMaybeMessage<::milvus::proto::schema::ValueField>(GetArenaForAllocation()); + _impl_.default_value_ = p; + } + return _impl_.default_value_; +} +inline ::milvus::proto::schema::ValueField* FieldSchema::mutable_default_value() { + ::milvus::proto::schema::ValueField* _msg = _internal_mutable_default_value(); + // @@protoc_insertion_point(field_mutable:milvus.proto.schema.FieldSchema.default_value) + return _msg; +} +inline void FieldSchema::set_allocated_default_value(::milvus::proto::schema::ValueField* default_value) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.default_value_; + } + if (default_value) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(default_value); + if (message_arena != submessage_arena) { + default_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, default_value, submessage_arena); + } + + } else { + + } + _impl_.default_value_ = default_value; + // @@protoc_insertion_point(field_set_allocated:milvus.proto.schema.FieldSchema.default_value) +} + // ------------------------------------------------------------------- // CollectionSchema @@ -4387,6 +4782,363 @@ JSONArray::mutable_data() { // ------------------------------------------------------------------- +// ValueField + +// bool bool_data = 1; +inline bool ValueField::_internal_has_bool_data() const { + return data_case() == kBoolData; +} +inline bool ValueField::has_bool_data() const { + return _internal_has_bool_data(); +} +inline void ValueField::set_has_bool_data() { + _impl_._oneof_case_[0] = kBoolData; +} +inline void ValueField::clear_bool_data() { + if (_internal_has_bool_data()) { + _impl_.data_.bool_data_ = false; + clear_has_data(); + } +} +inline bool ValueField::_internal_bool_data() const { + if (_internal_has_bool_data()) { + return _impl_.data_.bool_data_; + } + return false; +} +inline void ValueField::_internal_set_bool_data(bool value) { + if (!_internal_has_bool_data()) { + clear_data(); + set_has_bool_data(); + } + _impl_.data_.bool_data_ = value; +} +inline bool ValueField::bool_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.bool_data) + return _internal_bool_data(); +} +inline void ValueField::set_bool_data(bool value) { + _internal_set_bool_data(value); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.bool_data) +} + +// int32 int_data = 2; +inline bool ValueField::_internal_has_int_data() const { + return data_case() == kIntData; +} +inline bool ValueField::has_int_data() const { + return _internal_has_int_data(); +} +inline void ValueField::set_has_int_data() { + _impl_._oneof_case_[0] = kIntData; +} +inline void ValueField::clear_int_data() { + if (_internal_has_int_data()) { + _impl_.data_.int_data_ = 0; + clear_has_data(); + } +} +inline int32_t ValueField::_internal_int_data() const { + if (_internal_has_int_data()) { + return _impl_.data_.int_data_; + } + return 0; +} +inline void ValueField::_internal_set_int_data(int32_t value) { + if (!_internal_has_int_data()) { + clear_data(); + set_has_int_data(); + } + _impl_.data_.int_data_ = value; +} +inline int32_t ValueField::int_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.int_data) + return _internal_int_data(); +} +inline void ValueField::set_int_data(int32_t value) { + _internal_set_int_data(value); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.int_data) +} + +// int64 long_data = 3; +inline bool ValueField::_internal_has_long_data() const { + return data_case() == kLongData; +} +inline bool ValueField::has_long_data() const { + return _internal_has_long_data(); +} +inline void ValueField::set_has_long_data() { + _impl_._oneof_case_[0] = kLongData; +} +inline void ValueField::clear_long_data() { + if (_internal_has_long_data()) { + _impl_.data_.long_data_ = int64_t{0}; + clear_has_data(); + } +} +inline int64_t ValueField::_internal_long_data() const { + if (_internal_has_long_data()) { + return _impl_.data_.long_data_; + } + return int64_t{0}; +} +inline void ValueField::_internal_set_long_data(int64_t value) { + if (!_internal_has_long_data()) { + clear_data(); + set_has_long_data(); + } + _impl_.data_.long_data_ = value; +} +inline int64_t ValueField::long_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.long_data) + return _internal_long_data(); +} +inline void ValueField::set_long_data(int64_t value) { + _internal_set_long_data(value); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.long_data) +} + +// float float_data = 4; +inline bool ValueField::_internal_has_float_data() const { + return data_case() == kFloatData; +} +inline bool ValueField::has_float_data() const { + return _internal_has_float_data(); +} +inline void ValueField::set_has_float_data() { + _impl_._oneof_case_[0] = kFloatData; +} +inline void ValueField::clear_float_data() { + if (_internal_has_float_data()) { + _impl_.data_.float_data_ = 0; + clear_has_data(); + } +} +inline float ValueField::_internal_float_data() const { + if (_internal_has_float_data()) { + return _impl_.data_.float_data_; + } + return 0; +} +inline void ValueField::_internal_set_float_data(float value) { + if (!_internal_has_float_data()) { + clear_data(); + set_has_float_data(); + } + _impl_.data_.float_data_ = value; +} +inline float ValueField::float_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.float_data) + return _internal_float_data(); +} +inline void ValueField::set_float_data(float value) { + _internal_set_float_data(value); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.float_data) +} + +// double double_data = 5; +inline bool ValueField::_internal_has_double_data() const { + return data_case() == kDoubleData; +} +inline bool ValueField::has_double_data() const { + return _internal_has_double_data(); +} +inline void ValueField::set_has_double_data() { + _impl_._oneof_case_[0] = kDoubleData; +} +inline void ValueField::clear_double_data() { + if (_internal_has_double_data()) { + _impl_.data_.double_data_ = 0; + clear_has_data(); + } +} +inline double ValueField::_internal_double_data() const { + if (_internal_has_double_data()) { + return _impl_.data_.double_data_; + } + return 0; +} +inline void ValueField::_internal_set_double_data(double value) { + if (!_internal_has_double_data()) { + clear_data(); + set_has_double_data(); + } + _impl_.data_.double_data_ = value; +} +inline double ValueField::double_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.double_data) + return _internal_double_data(); +} +inline void ValueField::set_double_data(double value) { + _internal_set_double_data(value); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.double_data) +} + +// string string_data = 6; +inline bool ValueField::_internal_has_string_data() const { + return data_case() == kStringData; +} +inline bool ValueField::has_string_data() const { + return _internal_has_string_data(); +} +inline void ValueField::set_has_string_data() { + _impl_._oneof_case_[0] = kStringData; +} +inline void ValueField::clear_string_data() { + if (_internal_has_string_data()) { + _impl_.data_.string_data_.Destroy(); + clear_has_data(); + } +} +inline const std::string& ValueField::string_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.string_data) + return _internal_string_data(); +} +template +inline void ValueField::set_string_data(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_string_data()) { + clear_data(); + set_has_string_data(); + _impl_.data_.string_data_.InitDefault(); + } + _impl_.data_.string_data_.Set( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.string_data) +} +inline std::string* ValueField::mutable_string_data() { + std::string* _s = _internal_mutable_string_data(); + // @@protoc_insertion_point(field_mutable:milvus.proto.schema.ValueField.string_data) + return _s; +} +inline const std::string& ValueField::_internal_string_data() const { + if (_internal_has_string_data()) { + return _impl_.data_.string_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void ValueField::_internal_set_string_data(const std::string& value) { + if (!_internal_has_string_data()) { + clear_data(); + set_has_string_data(); + _impl_.data_.string_data_.InitDefault(); + } + _impl_.data_.string_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* ValueField::_internal_mutable_string_data() { + if (!_internal_has_string_data()) { + clear_data(); + set_has_string_data(); + _impl_.data_.string_data_.InitDefault(); + } + return _impl_.data_.string_data_.Mutable( GetArenaForAllocation()); +} +inline std::string* ValueField::release_string_data() { + // @@protoc_insertion_point(field_release:milvus.proto.schema.ValueField.string_data) + if (_internal_has_string_data()) { + clear_has_data(); + return _impl_.data_.string_data_.Release(); + } else { + return nullptr; + } +} +inline void ValueField::set_allocated_string_data(std::string* string_data) { + if (has_data()) { + clear_data(); + } + if (string_data != nullptr) { + set_has_string_data(); + _impl_.data_.string_data_.InitAllocated(string_data, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:milvus.proto.schema.ValueField.string_data) +} + +// bytes bytes_data = 7; +inline bool ValueField::_internal_has_bytes_data() const { + return data_case() == kBytesData; +} +inline bool ValueField::has_bytes_data() const { + return _internal_has_bytes_data(); +} +inline void ValueField::set_has_bytes_data() { + _impl_._oneof_case_[0] = kBytesData; +} +inline void ValueField::clear_bytes_data() { + if (_internal_has_bytes_data()) { + _impl_.data_.bytes_data_.Destroy(); + clear_has_data(); + } +} +inline const std::string& ValueField::bytes_data() const { + // @@protoc_insertion_point(field_get:milvus.proto.schema.ValueField.bytes_data) + return _internal_bytes_data(); +} +template +inline void ValueField::set_bytes_data(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_bytes_data()) { + clear_data(); + set_has_bytes_data(); + _impl_.data_.bytes_data_.InitDefault(); + } + _impl_.data_.bytes_data_.SetBytes( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:milvus.proto.schema.ValueField.bytes_data) +} +inline std::string* ValueField::mutable_bytes_data() { + std::string* _s = _internal_mutable_bytes_data(); + // @@protoc_insertion_point(field_mutable:milvus.proto.schema.ValueField.bytes_data) + return _s; +} +inline const std::string& ValueField::_internal_bytes_data() const { + if (_internal_has_bytes_data()) { + return _impl_.data_.bytes_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void ValueField::_internal_set_bytes_data(const std::string& value) { + if (!_internal_has_bytes_data()) { + clear_data(); + set_has_bytes_data(); + _impl_.data_.bytes_data_.InitDefault(); + } + _impl_.data_.bytes_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* ValueField::_internal_mutable_bytes_data() { + if (!_internal_has_bytes_data()) { + clear_data(); + set_has_bytes_data(); + _impl_.data_.bytes_data_.InitDefault(); + } + return _impl_.data_.bytes_data_.Mutable( GetArenaForAllocation()); +} +inline std::string* ValueField::release_bytes_data() { + // @@protoc_insertion_point(field_release:milvus.proto.schema.ValueField.bytes_data) + if (_internal_has_bytes_data()) { + clear_has_data(); + return _impl_.data_.bytes_data_.Release(); + } else { + return nullptr; + } +} +inline void ValueField::set_allocated_bytes_data(std::string* bytes_data) { + if (has_data()) { + clear_data(); + } + if (bytes_data != nullptr) { + set_has_bytes_data(); + _impl_.data_.bytes_data_.InitAllocated(bytes_data, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:milvus.proto.schema.ValueField.bytes_data) +} + +inline bool ValueField::has_data() const { + return data_case() != DATA_NOT_SET; +} +inline void ValueField::clear_has_data() { + _impl_._oneof_case_[0] = DATA_NOT_SET; +} +inline ValueField::DataCase ValueField::data_case() const { + return ValueField::DataCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + // ScalarField // .milvus.proto.schema.BoolArray bool_data = 1; @@ -5961,6 +6713,8 @@ SearchResultData::mutable_topks() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/internal/distributed/proxy/httpserver/handler_test.go b/internal/distributed/proxy/httpserver/handler_test.go index 663112efc6..ccf3548dbb 100644 --- a/internal/distributed/proxy/httpserver/handler_test.go +++ b/internal/distributed/proxy/httpserver/handler_test.go @@ -131,6 +131,10 @@ func (m *mockProxyComponent) DescribeIndex(ctx context.Context, request *milvusp return &milvuspb.DescribeIndexResponse{Status: testStatus}, nil } +func (m *mockProxyComponent) GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) { + return &milvuspb.GetIndexStatisticsResponse{Status: testStatus}, nil +} + func (m *mockProxyComponent) GetIndexState(ctx context.Context, request *milvuspb.GetIndexStateRequest) (*milvuspb.GetIndexStateResponse, error) { return &milvuspb.GetIndexStateResponse{Status: testStatus}, nil } diff --git a/internal/distributed/proxy/service.go b/internal/distributed/proxy/service.go index 6dd6b50c73..f3d4cd884b 100644 --- a/internal/distributed/proxy/service.go +++ b/internal/distributed/proxy/service.go @@ -624,6 +624,11 @@ func (s *Server) DescribeIndex(ctx context.Context, request *milvuspb.DescribeIn return s.proxy.DescribeIndex(ctx, request) } +// GetIndexStatistics get the information of index. +func (s *Server) GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) { + return s.proxy.GetIndexStatistics(ctx, request) +} + // GetIndexBuildProgress gets index build progress with filed_name and index_name. // IndexRows is the num of indexed rows. And TotalRows is the total number of segment rows. // Deprecated: use DescribeIndex instead diff --git a/internal/distributed/proxy/service_test.go b/internal/distributed/proxy/service_test.go index a604a3700a..e2b23f3448 100644 --- a/internal/distributed/proxy/service_test.go +++ b/internal/distributed/proxy/service_test.go @@ -598,6 +598,10 @@ func (m *MockProxy) DescribeIndex(ctx context.Context, request *milvuspb.Describ return nil, nil } +func (m *MockProxy) GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) { + return nil, nil +} + func (m *MockProxy) GetIndexBuildProgress(ctx context.Context, request *milvuspb.GetIndexBuildProgressRequest) (*milvuspb.GetIndexBuildProgressResponse, error) { return nil, nil } @@ -1086,6 +1090,11 @@ func Test_NewServer(t *testing.T) { assert.Nil(t, err) }) + t.Run("GetIndexStatistics", func(t *testing.T) { + _, err := server.GetIndexStatistics(ctx, nil) + assert.Nil(t, err) + }) + t.Run("GetIndexBuildProgress", func(t *testing.T) { _, err := server.GetIndexBuildProgress(ctx, nil) assert.Nil(t, err) diff --git a/internal/mocks/mock_proxy.go b/internal/mocks/mock_proxy.go index bac17bf85e..a36654c9ed 100644 --- a/internal/mocks/mock_proxy.go +++ b/internal/mocks/mock_proxy.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.14.0. DO NOT EDIT. +// Code generated by mockery v2.16.0. DO NOT EDIT. package mocks @@ -1712,6 +1712,53 @@ func (_c *Proxy_GetIndexState_Call) Return(_a0 *milvuspb.GetIndexStateResponse, return _c } +// GetIndexStatistics provides a mock function with given fields: ctx, request +func (_m *Proxy) GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) { + ret := _m.Called(ctx, request) + + var r0 *milvuspb.GetIndexStatisticsResponse + if rf, ok := ret.Get(0).(func(context.Context, *milvuspb.GetIndexStatisticsRequest) *milvuspb.GetIndexStatisticsResponse); ok { + r0 = rf(ctx, request) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*milvuspb.GetIndexStatisticsResponse) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, *milvuspb.GetIndexStatisticsRequest) error); ok { + r1 = rf(ctx, request) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Proxy_GetIndexStatistics_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetIndexStatistics' +type Proxy_GetIndexStatistics_Call struct { + *mock.Call +} + +// GetIndexStatistics is a helper method to define mock.On call +// - ctx context.Context +// - request *milvuspb.GetIndexStatisticsRequest +func (_e *Proxy_Expecter) GetIndexStatistics(ctx interface{}, request interface{}) *Proxy_GetIndexStatistics_Call { + return &Proxy_GetIndexStatistics_Call{Call: _e.mock.On("GetIndexStatistics", ctx, request)} +} + +func (_c *Proxy_GetIndexStatistics_Call) Run(run func(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest)) *Proxy_GetIndexStatistics_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(*milvuspb.GetIndexStatisticsRequest)) + }) + return _c +} + +func (_c *Proxy_GetIndexStatistics_Call) Return(_a0 *milvuspb.GetIndexStatisticsResponse, _a1 error) *Proxy_GetIndexStatistics_Call { + _c.Call.Return(_a0, _a1) + return _c +} + // GetLoadState provides a mock function with given fields: ctx, request func (_m *Proxy) GetLoadState(ctx context.Context, request *milvuspb.GetLoadStateRequest) (*milvuspb.GetLoadStateResponse, error) { ret := _m.Called(ctx, request) diff --git a/internal/proxy/impl.go b/internal/proxy/impl.go index c0f3df3f07..0226bc6692 100644 --- a/internal/proxy/impl.go +++ b/internal/proxy/impl.go @@ -1782,6 +1782,16 @@ func (node *Proxy) DescribeIndex(ctx context.Context, request *milvuspb.Describe return dit.result, nil } +// GetIndexStatistics get the information of index. +func (node *Proxy) GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) { + // bank implement + return &milvuspb.GetIndexStatisticsResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_Success, + }, + }, nil +} + // DropIndex drop the index of collection. func (node *Proxy) DropIndex(ctx context.Context, request *milvuspb.DropIndexRequest) (*commonpb.Status, error) { if !node.checkHealthy() { diff --git a/internal/proxy/proxy_test.go b/internal/proxy/proxy_test.go index 1b7697f48f..aed18e5f7b 100644 --- a/internal/proxy/proxy_test.go +++ b/internal/proxy/proxy_test.go @@ -4399,3 +4399,21 @@ func TestProxy_GetLoadState(t *testing.T) { assert.Equal(t, commonpb.ErrorCode_InsufficientMemoryToLoad, progressResp.Status.ErrorCode) }) } + +func TestProxy_GetIndexStatistics(t *testing.T) { + factory := dependency.NewDefaultFactory(true) + ctx := context.Background() + proxy, err := NewProxy(ctx, factory) + assert.NoError(t, err) + assert.NotNil(t, proxy) + t.Run("TestProxy_GetIndexStatistics", func(t *testing.T) { + resp, err := proxy.GetIndexStatistics(ctx, &milvuspb.GetIndexStatisticsRequest{ + Base: nil, + DbName: "", + CollectionName: "hello_milvus", + IndexName: "", + }) + assert.NoError(t, err) + assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode) + }) +} diff --git a/internal/types/types.go b/internal/types/types.go index e789fa9670..bbd7e5a1e3 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -1082,6 +1082,16 @@ type ProxyComponent interface { // error is always nil DescribeIndex(ctx context.Context, request *milvuspb.DescribeIndexRequest) (*milvuspb.DescribeIndexResponse, error) + // GetIndexStatistics notifies Proxy to return index's statistics + // + // ctx is the context to control request deadline and cancellation + // req contains the request params, including database name(reserved), collection name, field name, index name + // + // The `Status` in response struct `GetIndexStatisticsResponse` indicates if this operation is processed successfully or fail cause; + // the `IndexDescriptions` in `GetIndexStatisticsResponse` return index's statistics. + // error is always nil + GetIndexStatistics(ctx context.Context, request *milvuspb.GetIndexStatisticsRequest) (*milvuspb.GetIndexStatisticsResponse, error) + // GetIndexBuildProgress notifies Proxy to return index build progress // // ctx is the context to control request deadline and cancellation