syntax = "proto3";
package milvus.proto.segcore;

option go_package = "github.com/milvus-io/milvus/pkg/proto/segcorepb";
import "schema.proto";
import "common.proto";

message RetrieveResults {
  schema.IDs ids = 1;
  repeated int64 offset = 2;
  repeated schema.FieldData fields_data = 3;
  int64 all_retrieve_count = 4;
  bool has_more_result = 5;
}

message LoadFieldMeta {
  int64 min_timestamp = 1;
  int64 max_timestamp = 2;
  int64 row_count = 3;
}

message LoadSegmentMeta {
  // TODOs
  repeated LoadFieldMeta metas = 1;
  int64 total_size = 2;
}

message InsertRecord {
  repeated schema.FieldData fields_data = 1;
  int64 num_rows = 2;
}

message FieldIndexMeta {
  int64 fieldID = 1;
  int64 collectionID = 2;
  string index_name = 3;
  repeated common.KeyValuePair type_params = 4;
  repeated common.KeyValuePair index_params = 5;
  bool is_auto_index = 6;
  repeated common.KeyValuePair user_index_params = 7;
}

message CollectionIndexMeta {
  int64 maxIndexRowCount = 1;
  repeated FieldIndexMeta index_metas = 2;
}
