diff --git a/sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java b/sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java index 4d98a9658..fa6a1198e 100644 --- a/sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java +++ b/sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java @@ -318,6 +318,13 @@ public void alterCollectionField(AlterCollectionFieldReq request) { public void dropCollectionProperties(DropCollectionPropertiesReq request) { rpcUtils.retry(()-> collectionService.dropCollectionProperties(this.getRpcStub(), request)); } + /** + * drop a field's properties. + * @param request drop field properties request + */ + public void dropCollectionFieldProperties(DropCollectionFieldPropertiesReq request) { + rpcUtils.retry(()-> collectionService.dropCollectionFieldProperties(this.getRpcStub(), request)); + } /** * Checks whether a collection exists in Milvus. * diff --git a/sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java b/sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java index 102d37de0..71fcf072b 100644 --- a/sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java +++ b/sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java @@ -250,6 +250,24 @@ public Void dropCollectionProperties(MilvusServiceGrpc.MilvusServiceBlockingStub return null; } + public Void dropCollectionFieldProperties(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, DropCollectionFieldPropertiesReq request) { + String title = String.format("DropCollectionFieldPropertiesReq collectionName:%s fieldName:%s", + request.getCollectionName(), request.getFieldName()); + + AlterCollectionFieldRequest.Builder builder = AlterCollectionFieldRequest.newBuilder() + .setCollectionName(request.getCollectionName()) + .setFieldName(request.getFieldName()) + .addAllDeleteKeys(request.getPropertyKeys()); + if (StringUtils.isNotEmpty(request.getDatabaseName())) { + builder.setDbName(request.getDatabaseName()); + } + + Status response = blockingStub.alterCollectionField(builder.build()); + rpcUtils.handleResponse(title, response); + + return null; + } + public Boolean hasCollection(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, HasCollectionReq request) { HasCollectionRequest hasCollectionRequest = HasCollectionRequest.newBuilder() .setCollectionName(request.getCollectionName()) diff --git a/sdk-core/src/main/java/io/milvus/v2/service/collection/request/DropCollectionFieldPropertiesReq.java b/sdk-core/src/main/java/io/milvus/v2/service/collection/request/DropCollectionFieldPropertiesReq.java new file mode 100644 index 000000000..2cacf5e86 --- /dev/null +++ b/sdk-core/src/main/java/io/milvus/v2/service/collection/request/DropCollectionFieldPropertiesReq.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.milvus.v2.service.collection.request; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.SuperBuilder; + +import java.util.ArrayList; +import java.util.List; + +@Data +@SuperBuilder +public class DropCollectionFieldPropertiesReq { + private String collectionName; + private String databaseName; + private String fieldName; + @Builder.Default + private List propertyKeys = new ArrayList<>(); +} diff --git a/sdk-core/src/main/milvus-proto b/sdk-core/src/main/milvus-proto index 408077005..16218b12b 160000 --- a/sdk-core/src/main/milvus-proto +++ b/sdk-core/src/main/milvus-proto @@ -1 +1 @@ -Subproject commit 4080770055adb2e2b37369a7ab1e3c713481d0ea +Subproject commit 16218b12b847434fd299bb42a90a793c4b58a533