Browse Source

Support dropCollectionFieldProperties interface (#1412)

Signed-off-by: yhmo <yihua.mo@zilliz.com>
groot 1 month ago
parent
commit
90b594a80c

+ 7 - 0
sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java

@@ -318,6 +318,13 @@ public class MilvusClientV2 {
     public void dropCollectionProperties(DropCollectionPropertiesReq request) {
     public void dropCollectionProperties(DropCollectionPropertiesReq request) {
         rpcUtils.retry(()-> collectionService.dropCollectionProperties(this.getRpcStub(), 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.
      * Checks whether a collection exists in Milvus.
      *
      *

+ 18 - 0
sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java

@@ -250,6 +250,24 @@ public class CollectionService extends BaseService {
         return null;
         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) {
     public Boolean hasCollection(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, HasCollectionReq request) {
         HasCollectionRequest hasCollectionRequest = HasCollectionRequest.newBuilder()
         HasCollectionRequest hasCollectionRequest = HasCollectionRequest.newBuilder()
                 .setCollectionName(request.getCollectionName())
                 .setCollectionName(request.getCollectionName())

+ 37 - 0
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<String> propertyKeys = new ArrayList<>();
+}

+ 1 - 1
sdk-core/src/main/milvus-proto

@@ -1 +1 @@
-Subproject commit f412f2e2745e208c97ac8b4d22055b9b466378a0
+Subproject commit 9fb5f0f6ccc840a7bb1d4c699dd1db6a607992b0