qdrant / go-client

Go client for Qdrant vector search engine
Apache License 2.0
159 stars 15 forks source link

Regenerate go files #33

Closed camdencheek closed 1 year ago

camdencheek commented 1 year ago

It looks like the proto files were synced in https://github.com/qdrant/go-client/pull/31 for the 1.4.0 release, but the generated go client was never updated. This PR is just the output of ./tools/generate_proto_go.sh.

camdencheek commented 1 year ago

cc @agourlay and @generall from #31 since I'm not sure whether this repository is monitored

agourlay commented 1 year ago

@camdencheek Thanks a lot for noticing this, it seems I clearly botched the last release :face_with_head_bandage:

It seems there are more data missing, running the sync. script again I get.

index ecf1407..4390db0 100644
--- a/proto/points.proto
+++ b/proto/points.proto
@@ -327,6 +327,45 @@ message CountPoints {
   optional bool exact = 3; // If `true` - return exact count, if `false` - return approximate count
 }

+message PointsUpdateOperation {
+  message PointStructList {
+    repeated PointStruct points = 1;
+  }
+  message SetPayload {
+      map<string, Value> payload = 1;
+      optional PointsSelector points_selector = 2; // Affected points
+  }
+  message DeletePayload {
+      repeated string keys = 1;
+      optional PointsSelector points_selector = 2; // Affected points
+  }
+  message UpdateVectors {
+    repeated PointVectors points = 1; // List of points and vectors to update
+  }
+  message DeleteVectors {
+    PointsSelector points_selector = 1; // Affected points
+    VectorsSelector vectors = 2; // List of vector names to delete
+  }
+
+  oneof operation {
+    PointStructList upsert = 1;
+    PointsSelector delete = 2;
+    SetPayload set_payload = 3;
+    SetPayload overwrite_payload = 4;
+    DeletePayload delete_payload = 5;
+    PointsSelector clear_payload = 6;
+    UpdateVectors update_vectors = 7;
+    DeleteVectors delete_vectors = 8;
+  }
+}
+
+message UpdateBatchPoints {
+  string collection_name = 1; // name of the collection
+  optional bool wait = 2; // Wait until the changes have been applied?
+  repeated PointsUpdateOperation operations = 3;
+  optional WriteOrdering ordering = 4; // Write ordering guarantees
+}
+
 // ---------------------------------------------
 // ---------------- RPC Response ---------------
 // ---------------------------------------------
@@ -438,6 +477,11 @@ message RecommendGroupsResponse {
   double time = 2; // Time spent to process
 }

+message UpdateBatchResponse {
+  repeated UpdateResult result = 1;
+  double time = 2; // Time spent to process
+}
+

I will sort this out and publish a new version of the client :+1:

agourlay commented 1 year ago

@camdencheek I have created a new tag for 1.4.1, please give it a try and keep me posted!

camdencheek commented 1 year ago

Looks to me like PointsUpdateOperation was added betweeen v1.4.0 and v1.4.1, so the synced proto files were still targeting what was in v1.4.0. In any case, v1.4.1 looks good to me now! Will let ya know if I come across any additional weirdness. Thanks for the quick turnaround!