Browse Source

Signed-off-by: lentitude2tk <xushuang.hu@zilliz.com> (#678)

deleteIds Marked as deprecated
xushuang.hu 1 year ago
parent
commit
b44001fa6c

+ 1 - 1
src/main/java/io/milvus/client/AbstractMilvusGrpcClient.java

@@ -2883,7 +2883,7 @@ public abstract class AbstractMilvusGrpcClient implements MilvusClient {
                     .build();
             R<MutationResult> resultR = delete(deleteParam);
             MutationResultWrapper resultWrapper = new MutationResultWrapper(resultR.getData());
-            return R.success(DeleteResponse.builder().deleteIds(resultWrapper.getInsertIDs()).build());
+            return R.success(DeleteResponse.builder().deleteIds(resultWrapper.getDeleteIDs()).build());
         } catch (StatusRuntimeException e) {
             logError("Delete RPC failed! Collection name:{}",
                     requestParam.getCollectionName(), e);

+ 5 - 0
src/main/java/io/milvus/param/highlevel/dml/response/DeleteResponse.java

@@ -32,5 +32,10 @@ import java.util.List;
 @Getter
 @ToString
 public class DeleteResponse {
+    /**
+     * In the new version(>=2.3.2), this method only returns an empty list and does not return specific values
+     * Mark is as deprecated, keep it to compatible with the legacy code
+     */
+    @Deprecated
     public List<?> deleteIds;
 }

+ 16 - 0
src/main/java/io/milvus/response/MutationResultWrapper.java

@@ -1,5 +1,6 @@
 package io.milvus.response;
 
+import com.google.common.collect.Lists;
 import io.milvus.exception.ParamException;
 import io.milvus.grpc.MutationResult;
 
@@ -70,6 +71,21 @@ public class MutationResultWrapper {
         }
     }
 
+    /**
+     * Gets the ID array from returned by delete interface.
+     *
+     * @return List of Ids, ID array returned by delete interface
+     */
+    public List<?> getDeleteIDs() {
+        if (result.getIDs().hasIntId()) {
+            return result.getIDs().getIntId().getDataList();
+        } else if (result.getIDs().hasStrId()) {
+            return result.getIDs().getStrId().getDataList();
+        } else {
+            return Lists.newArrayList();
+        }
+    }
+
     /**
      * Gets the row count of the deleted entities. Currently, this value is always equal to input row count
      *

+ 0 - 1
src/test/java/io/milvus/client/MilvusClientDockerTest.java

@@ -1680,6 +1680,5 @@ class MilvusClientDockerTest {
         String outPutStr = String.format("collectionName:%s, primaryIds:%s, deleteResponseR:%s", collectionName, primaryIds, deleteResponseR);
         System.out.println(outPutStr);
         Assertions.assertEquals(R.Status.Success.getCode(), deleteResponseR.getStatus().intValue());
-        Assertions.assertEquals(primaryIds.size(), deleteResponseR.getData().getDeleteIds().size());
     }
 }