diff --git a/api.go b/api.go index 2e4471cf2..ad31c92cd 100644 --- a/api.go +++ b/api.go @@ -343,6 +343,38 @@ func (api *API) CreateField(ctx context.Context, indexName string, fieldName str return field, nil } +// FieldUpdate represents a change to a field. The thinking is to only +// support changing one field option at a time to keep the +// implementation sane. At time of writing, only TTL is supported. +type FieldUpdate struct { + Option string `json:"option"` + Value string `json:"value"` +} + +func (api *API) UpdateField(ctx context.Context, indexName, fieldName string, update FieldUpdate) error { + // Find index. + index := api.holder.Index(indexName) + if index == nil { + return newNotFoundError(ErrIndexNotFound, indexName) + } + + cfm, err := index.UpdateField(ctx, fieldName, update) + if err != nil { + return errors.Wrap(err, "updating field") + } + + if err := index.UpdateFieldLocal(cfm, update); err != nil { + return errors.Wrap(err, "updating field locally") + } + + // broadcast field update + err = api.holder.sendOrSpool(&UpdateFieldMessage{ + CreateFieldMessage: *cfm, + Update: update, + }) + return errors.Wrap(err, "sending UpdateField message") +} + // Field retrieves the named field. func (api *API) Field(ctx context.Context, indexName, fieldName string) (*Field, error) { span, _ := tracing.StartSpanFromContext(ctx, "API.Field") diff --git a/broadcast.go b/broadcast.go index 663044497..0ad8e6b40 100644 --- a/broadcast.go +++ b/broadcast.go @@ -70,6 +70,7 @@ const ( messageTypeTransaction messageTypeResizeNodeMessage messageTypeResizeAbortMessage + messageTypeUpdateField ) // MarshalInternalMessage serializes the pilosa message and adds pilosa internal @@ -121,6 +122,8 @@ func getMessage(typ byte) Message { return &ResizeNodeMessage{} case messageTypeResizeAbortMessage: return &ResizeAbortMessage{} + case messageTypeUpdateField: + return &UpdateFieldMessage{} default: panic(fmt.Sprintf("unknown message type %d", typ)) } @@ -164,6 +167,8 @@ func getMessageType(m Message) byte { return messageTypeResizeNodeMessage case *ResizeAbortMessage: return messageTypeResizeAbortMessage + case *UpdateFieldMessage: + return messageTypeUpdateField default: panic(fmt.Sprintf("don't have type for message %#v", m)) } diff --git a/cluster.go b/cluster.go index 0fab2875c..e70ab6e79 100644 --- a/cluster.go +++ b/cluster.go @@ -1991,6 +1991,14 @@ type CreateFieldMessage struct { Meta *FieldOptions } +// UpdateFieldMessage represents a change to an existing field. The +// CreateFieldMessage holds the changed field, while the update shows +// the change that was made. +type UpdateFieldMessage struct { + CreateFieldMessage CreateFieldMessage + Update FieldUpdate +} + // DeleteFieldMessage is an internal message indicating field deletion. type DeleteFieldMessage struct { Index string diff --git a/disco/disco.go b/disco/disco.go index 8ad815c28..799f4e82f 100644 --- a/disco/disco.go +++ b/disco/disco.go @@ -127,6 +127,7 @@ type Schemator interface { DeleteIndex(ctx context.Context, name string) error Field(ctx context.Context, index, field string) ([]byte, error) CreateField(ctx context.Context, index, field string, val []byte) error + UpdateField(ctx context.Context, index, field string, val []byte) error DeleteField(ctx context.Context, index, field string) error View(ctx context.Context, index, field, view string) (bool, error) CreateView(ctx context.Context, index, field, view string) error @@ -285,6 +286,11 @@ func (*nopSchemator) CreateField(ctx context.Context, index, field string, val [ return nil } +// UpdateField is a no-op implementation of the Schemator UpdateField method. +func (*nopSchemator) UpdateField(ctx context.Context, index, field string, val []byte) error { + return nil +} + // DeleteField is a no-op implementation of the Schemator DeleteField method. func (*nopSchemator) DeleteField(ctx context.Context, index, field string) error { return nil } @@ -401,6 +407,24 @@ func (s *inMemSchemator) CreateField(ctx context.Context, index, field string, v return nil } +func (s *inMemSchemator) UpdateField(ctx context.Context, index, field string, val []byte) error { + s.mu.Lock() + defer s.mu.Unlock() + idx, ok := s.schema[index] + if !ok { + return ErrIndexDoesNotExist + } + if fld, ok := idx.Fields[field]; ok { + // The current logic in pilosa doesn't allow us to return ErrFieldExists + // here, so for now we just update the Data value if the field already + // exists. + fld.Data = val + return nil + } else { + return ErrFieldDoesNotExist + } +} + // DeleteField is an in-memory implementation of the Schemator DeleteField method. func (s *inMemSchemator) DeleteField(ctx context.Context, index, field string) error { s.mu.Lock() diff --git a/encoding/proto/proto.go b/encoding/proto/proto.go index 4b9958f81..90d6ef4fb 100644 --- a/encoding/proto/proto.go +++ b/encoding/proto/proto.go @@ -70,6 +70,14 @@ func (s Serializer) Unmarshal(buf []byte, m pilosa.Message) error { } s.decodeCreateFieldMessage(msg, mt) return nil + case *pilosa.UpdateFieldMessage: + msg := &pb.UpdateFieldMessage{} + err := proto.Unmarshal(buf, msg) + if err != nil { + return errors.Wrap(err, "unmarshaling UpdateFieldMessage") + } + s.decodeUpdateFieldMessage(msg, mt) + return nil case *pilosa.DeleteFieldMessage: msg := &pb.DeleteFieldMessage{} err := proto.Unmarshal(buf, msg) @@ -339,6 +347,8 @@ func (s Serializer) encodeToProto(m pilosa.Message) proto.Message { return s.encodeDeleteIndexMessage(mt) case *pilosa.CreateFieldMessage: return s.encodeCreateFieldMessage(mt) + case *pilosa.UpdateFieldMessage: + return s.encodeUpdateFieldMessage(mt) case *pilosa.DeleteFieldMessage: return s.encodeDeleteFieldMessage(mt) case *pilosa.DeleteAvailableShardMessage: @@ -751,6 +761,20 @@ func (s Serializer) encodeCreateFieldMessage(m *pilosa.CreateFieldMessage) *pb.C } } +func (s Serializer) encodeUpdateFieldMessage(m *pilosa.UpdateFieldMessage) *pb.UpdateFieldMessage { + return &pb.UpdateFieldMessage{ + CreateFieldMessage: s.encodeCreateFieldMessage(&m.CreateFieldMessage), + Update: s.encodeFieldUpdate(&m.Update), + } +} + +func (s Serializer) encodeFieldUpdate(m *pilosa.FieldUpdate) *pb.FieldUpdate { + return &pb.FieldUpdate{ + Option: m.Option, + Value: m.Value, + } +} + func (s Serializer) encodeDeleteFieldMessage(m *pilosa.DeleteFieldMessage) *pb.DeleteFieldMessage { return &pb.DeleteFieldMessage{ Index: m.Index, @@ -1149,6 +1173,16 @@ func (s Serializer) decodeCreateFieldMessage(pb *pb.CreateFieldMessage, m *pilos s.decodeFieldOptions(pb.Meta, m.Meta) } +func (s Serializer) decodeUpdateFieldMessage(pb *pb.UpdateFieldMessage, m *pilosa.UpdateFieldMessage) { + s.decodeCreateFieldMessage(pb.CreateFieldMessage, &m.CreateFieldMessage) + s.decodeFieldUpdate(pb.Update, &m.Update) +} + +func (s Serializer) decodeFieldUpdate(pb *pb.FieldUpdate, m *pilosa.FieldUpdate) { + m.Option = pb.Option + m.Value = pb.Value +} + func (s Serializer) decodeDeleteFieldMessage(pb *pb.DeleteFieldMessage, m *pilosa.DeleteFieldMessage) { m.Index = pb.Index m.Field = pb.Field diff --git a/etcd/embed.go b/etcd/embed.go index c60456dbf..d3777a3d3 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -906,6 +906,33 @@ func (e *Etcd) CreateField(ctx context.Context, indexName string, name string, v return nil } +func (e *Etcd) UpdateField(ctx context.Context, indexName string, name string, val []byte) error { + key := schemaPrefix + indexName + "/" + name + + // Set up Op to write field value as bytes. + op := clientv3.OpPut(key, "") + op.WithValueBytes(val) + + // Check for key existence, and execute Op within a transaction. + var resp *clientv3.TxnResponse + + err := e.retryClient(func(cli *clientv3.Client) (err error) { + resp, err = cli.Txn(ctx). + If(clientv3util.KeyExists(key)). + Then(op). + Commit() + return err + }) + if err != nil { + return errors.Wrap(err, "executing transaction") + } + + if !resp.Succeeded { + return disco.ErrFieldDoesNotExist + } + return nil +} + func (e *Etcd) DeleteField(ctx context.Context, indexname string, name string) (err error) { key := schemaPrefix + indexname + "/" + name // Deleting field and views in one transaction. diff --git a/http_handler.go b/http_handler.go index 3c555ab5c..cc19a0e8b 100644 --- a/http_handler.go +++ b/http_handler.go @@ -432,6 +432,7 @@ func newRouter(handler *Handler) http.Handler { router.HandleFunc("/index/{index}/field/{field}/view", handler.chkAuthZ(handler.handleGetView, authz.Admin)).Methods("GET") router.HandleFunc("/index/{index}/field/{field}/view/{view}", handler.chkAuthZ(handler.handleDeleteView, authz.Admin)).Methods("DELETE").Name("DeleteView") router.HandleFunc("/index/{index}/field/{field}", handler.chkAuthZ(handler.handlePostField, authz.Write)).Methods("POST").Name("PostField") + router.HandleFunc("/index/{index}/field/{field}", handler.chkAuthZ(handler.handlePatchField, authz.Write)).Methods("PATCH").Name("PatchField") router.HandleFunc("/index/{index}/field/{field}", handler.chkAuthZ(handler.handleDeleteField, authz.Write)).Methods("DELETE").Name("DeleteField") router.HandleFunc("/index/{index}/field/{field}/import", handler.chkAuthZ(handler.handlePostImport, authz.Write)).Methods("POST").Name("PostImport") router.HandleFunc("/index/{index}/field/{field}/mutex-check", handler.chkAuthZ(handler.handleGetMutexCheck, authz.Read)).Methods("GET").Name("GetMutexCheck") @@ -794,6 +795,7 @@ func (r *successResponse) check(err error) (statusCode int) { case ConflictError: statusCode = http.StatusConflict case NotFoundError: + // TODO I think any error matches NotFoundError because it's a `type NotFoundError error` statusCode = http.StatusNotFound default: statusCode = http.StatusInternalServerError @@ -1699,6 +1701,41 @@ func (h *Handler) handlePostField(w http.ResponseWriter, r *http.Request) { resp.write(w, err) } +// handlePatchField handles updates to field schema at /index/{index}/field/{field} +func (h *Handler) handlePatchField(w http.ResponseWriter, r *http.Request) { + if !validHeaderAcceptJSON(r.Header) { + http.Error(w, "JSON only acceptable response", http.StatusNotAcceptable) + return + } + + indexName, ok := mux.Vars(r)["index"] + if !ok { + http.Error(w, "index name is required", http.StatusBadRequest) + return + } + + fieldName, ok := mux.Vars(r)["field"] + if !ok { + http.Error(w, "field name is required", http.StatusBadRequest) + return + } + + resp := successResponse{h: h, Name: fieldName} + + // Decode request. + var req FieldUpdate + dec := json.NewDecoder(r.Body) + dec.DisallowUnknownFields() + err := dec.Decode(&req) + if err != nil && err != io.EOF { + resp.write(w, err) + return + } + + err = h.api.UpdateField(r.Context(), indexName, fieldName, req) + resp.write(w, err) +} + // handlePostIngestData handles JSON ingest data that may need key // translation, for the entire cluster. func (h *Handler) handlePostIngestData(w http.ResponseWriter, r *http.Request) { diff --git a/http_handler_test.go b/http_handler_test.go index e5195205e..b246b6d69 100644 --- a/http_handler_test.go +++ b/http_handler_test.go @@ -2,6 +2,7 @@ package pilosa_test import ( + "context" "encoding/json" "fmt" "net" @@ -10,6 +11,7 @@ import ( "sort" "strings" "testing" + "time" pilosa "github.com/molecula/featurebase/v3" "github.com/molecula/featurebase/v3/encoding/proto" @@ -80,6 +82,38 @@ func TestMarshalUnmarshalTransactionResponse(t *testing.T) { } } +func TestUpdateFieldTTL(t *testing.T) { + c := test.MustRunCluster(t, 3) + defer c.Close() + + c.CreateField(t, "ttltest", pilosa.IndexOptions{}, "timefield", pilosa.OptFieldTypeTime(pilosa.TimeQuantum("YMD"), "0")) + + nodeURL := c.Nodes[0].URL() + "/index/ttltest/field/timefield" + fmt.Println(nodeURL) + + req, err := gohttp.NewRequest("PATCH", nodeURL, strings.NewReader(`{"option": "ttl", "value": "48h"}`)) + if err != nil { + t.Fatal(err) + } + req.Header.Set("Content-Type", "application/json") + resp, err := gohttp.DefaultClient.Do(req) + if err != nil { + t.Fatalf("doing option request: %v", err) + } else if resp.StatusCode != 200 { + t.Fatalf("unexpected status updating TTL") + } + + for _, node := range c.Nodes { + ii, err := node.API.Schema(context.Background(), false) + if err != nil { + t.Fatalf("getting schema: %v", err) + } + if ii[0].Fields[0].Options.TTL != time.Hour*48 { + t.Fatalf("unexpected TTL after update: %s", ii[0].Fields[0].Options.TTL) + } + } +} + func TestIngestSchemaHandler(t *testing.T) { c := test.MustRunCluster(t, 3, []server.CommandOption{ diff --git a/index.go b/index.go index fc7d6ea60..a8636ec3b 100644 --- a/index.go +++ b/index.go @@ -9,6 +9,7 @@ import ( "sort" "strconv" "sync" + "time" "github.com/molecula/featurebase/v3/disco" "github.com/molecula/featurebase/v3/pql" @@ -719,6 +720,78 @@ func (i *Index) persistField(ctx context.Context, cfm *CreateFieldMessage) error return nil } +func (i *Index) persistUpdateField(ctx context.Context, cfm *CreateFieldMessage) error { + if cfm.Index == "" { + return ErrIndexRequired + } else if cfm.Field == "" { + return ErrFieldRequired + } + + if b, err := i.serializer.Marshal(cfm); err != nil { + return errors.Wrap(err, "marshaling") + } else if err := i.Schemator.UpdateField(ctx, cfm.Index, cfm.Field, b); errors.Cause(err) == disco.ErrFieldDoesNotExist { + return ErrFieldNotFound + } else if err != nil { + return errors.Wrapf(err, "writing field to disco: %s/%s", cfm.Index, cfm.Field) + } + return nil +} + +func (i *Index) UpdateField(ctx context.Context, name string, update FieldUpdate) (*CreateFieldMessage, error) { + // Get field from etcd + buf, err := i.Schemator.Field(ctx, i.name, name) + if err != nil { + return nil, errors.Wrapf(err, "getting field '%s' from etcd", name) + } + cfm, err := decodeCreateFieldMessage(i.holder.serializer, buf) + if err != nil { + return nil, errors.Wrap(err, "decoding CreateFieldMessage") + } else if cfm == nil { + return nil, errors.New("got nil CreateFieldMessage when decoding") + } + + // Handle the options we know how to update, or error. + switch update.Option { + case "TTL", "ttl": + if cfm.Meta.Type != FieldTypeTime { + return nil, NewBadRequestError(errors.Errorf("can only add TTL to a 'time' type field, not '%s'", cfm.Meta.Type)) + } + dur, err := time.ParseDuration(update.Value) + if err != nil { + return nil, NewBadRequestError(errors.Wrap(err, "parsing duration")) + } + cfm.Meta.TTL = dur + default: + return nil, NewBadRequestError(errors.Errorf("updates for option '%s' are not supported", update.Option)) + } + + // Persist the updated field to etcd. + if err := i.persistUpdateField(ctx, cfm); err != nil { + return nil, errors.Wrap(err, "persisting updated field") + } + + return cfm, nil +} + +func (i *Index) UpdateFieldLocal(cfm *CreateFieldMessage, update FieldUpdate) error { + // Update local structures. This assumes we don't need to do + // anything else... which is fine for TTL specifically, but I'm + // not sure about other things, so be aware when adding new update + // abilities. + i.mu.Lock() + defer i.mu.Unlock() + field := i.field(cfm.Field) + if field == nil { + return errors.Errorf("field '%s' not found locally", cfm.Field) + } + if err := field.applyOptions(*cfm.Meta); err != nil { + return errors.Wrap(err, "updating local field options") + } + + return nil + +} + // createFieldIfNotExists creates the field if it does not already exist in the // in-memory index structure. This is not related to whether or not the field // exists in etcd. diff --git a/pb/private.pb.go b/pb/private.pb.go index f4b4c6c51..1a19dab20 100644 --- a/pb/private.pb.go +++ b/pb/private.pb.go @@ -763,6 +763,116 @@ func (m *CreateFieldMessage) GetCreatedAt() int64 { return 0 } +type UpdateFieldMessage struct { + CreateFieldMessage *CreateFieldMessage `protobuf:"bytes,1,opt,name=CreateFieldMessage,proto3" json:"CreateFieldMessage,omitempty"` + Update *FieldUpdate `protobuf:"bytes,2,opt,name=Update,proto3" json:"Update,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateFieldMessage) Reset() { *m = UpdateFieldMessage{} } +func (m *UpdateFieldMessage) String() string { return proto.CompactTextString(m) } +func (*UpdateFieldMessage) ProtoMessage() {} +func (*UpdateFieldMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_d2a91b51c7bdc125, []int{11} +} +func (m *UpdateFieldMessage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpdateFieldMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpdateFieldMessage.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UpdateFieldMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateFieldMessage.Merge(m, src) +} +func (m *UpdateFieldMessage) XXX_Size() int { + return m.Size() +} +func (m *UpdateFieldMessage) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateFieldMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateFieldMessage proto.InternalMessageInfo + +func (m *UpdateFieldMessage) GetCreateFieldMessage() *CreateFieldMessage { + if m != nil { + return m.CreateFieldMessage + } + return nil +} + +func (m *UpdateFieldMessage) GetUpdate() *FieldUpdate { + if m != nil { + return m.Update + } + return nil +} + +type FieldUpdate struct { + Option string `protobuf:"bytes,1,opt,name=Option,proto3" json:"Option,omitempty"` + Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FieldUpdate) Reset() { *m = FieldUpdate{} } +func (m *FieldUpdate) String() string { return proto.CompactTextString(m) } +func (*FieldUpdate) ProtoMessage() {} +func (*FieldUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_d2a91b51c7bdc125, []int{12} +} +func (m *FieldUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FieldUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FieldUpdate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *FieldUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldUpdate.Merge(m, src) +} +func (m *FieldUpdate) XXX_Size() int { + return m.Size() +} +func (m *FieldUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_FieldUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldUpdate proto.InternalMessageInfo + +func (m *FieldUpdate) GetOption() string { + if m != nil { + return m.Option + } + return "" +} + +func (m *FieldUpdate) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + type DeleteFieldMessage struct { Index string `protobuf:"bytes,1,opt,name=Index,proto3" json:"Index,omitempty"` Field string `protobuf:"bytes,2,opt,name=Field,proto3" json:"Field,omitempty"` @@ -775,7 +885,7 @@ func (m *DeleteFieldMessage) Reset() { *m = DeleteFieldMessage{} } func (m *DeleteFieldMessage) String() string { return proto.CompactTextString(m) } func (*DeleteFieldMessage) ProtoMessage() {} func (*DeleteFieldMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{11} + return fileDescriptor_d2a91b51c7bdc125, []int{13} } func (m *DeleteFieldMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -831,7 +941,7 @@ func (m *DeleteAvailableShardMessage) Reset() { *m = DeleteAvailableShar func (m *DeleteAvailableShardMessage) String() string { return proto.CompactTextString(m) } func (*DeleteAvailableShardMessage) ProtoMessage() {} func (*DeleteAvailableShardMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{12} + return fileDescriptor_d2a91b51c7bdc125, []int{14} } func (m *DeleteAvailableShardMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -895,7 +1005,7 @@ func (m *Field) Reset() { *m = Field{} } func (m *Field) String() string { return proto.CompactTextString(m) } func (*Field) ProtoMessage() {} func (*Field) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{13} + return fileDescriptor_d2a91b51c7bdc125, []int{15} } func (m *Field) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -963,7 +1073,7 @@ func (m *Schema) Reset() { *m = Schema{} } func (m *Schema) String() string { return proto.CompactTextString(m) } func (*Schema) ProtoMessage() {} func (*Schema) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{14} + return fileDescriptor_d2a91b51c7bdc125, []int{16} } func (m *Schema) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1013,7 +1123,7 @@ func (m *Index) Reset() { *m = Index{} } func (m *Index) String() string { return proto.CompactTextString(m) } func (*Index) ProtoMessage() {} func (*Index) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{15} + return fileDescriptor_d2a91b51c7bdc125, []int{17} } func (m *Index) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1083,7 +1193,7 @@ func (m *URI) Reset() { *m = URI{} } func (m *URI) String() string { return proto.CompactTextString(m) } func (*URI) ProtoMessage() {} func (*URI) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{16} + return fileDescriptor_d2a91b51c7bdc125, []int{18} } func (m *URI) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1148,7 +1258,7 @@ func (m *Node) Reset() { *m = Node{} } func (m *Node) String() string { return proto.CompactTextString(m) } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{17} + return fileDescriptor_d2a91b51c7bdc125, []int{19} } func (m *Node) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1224,7 +1334,7 @@ func (m *NodeStateMessage) Reset() { *m = NodeStateMessage{} } func (m *NodeStateMessage) String() string { return proto.CompactTextString(m) } func (*NodeStateMessage) ProtoMessage() {} func (*NodeStateMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{18} + return fileDescriptor_d2a91b51c7bdc125, []int{20} } func (m *NodeStateMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1279,7 +1389,7 @@ func (m *NodeEventMessage) Reset() { *m = NodeEventMessage{} } func (m *NodeEventMessage) String() string { return proto.CompactTextString(m) } func (*NodeEventMessage) ProtoMessage() {} func (*NodeEventMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{19} + return fileDescriptor_d2a91b51c7bdc125, []int{21} } func (m *NodeEventMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1335,7 +1445,7 @@ func (m *NodeStatus) Reset() { *m = NodeStatus{} } func (m *NodeStatus) String() string { return proto.CompactTextString(m) } func (*NodeStatus) ProtoMessage() {} func (*NodeStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{20} + return fileDescriptor_d2a91b51c7bdc125, []int{22} } func (m *NodeStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1398,7 +1508,7 @@ func (m *IndexStatus) Reset() { *m = IndexStatus{} } func (m *IndexStatus) String() string { return proto.CompactTextString(m) } func (*IndexStatus) ProtoMessage() {} func (*IndexStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{21} + return fileDescriptor_d2a91b51c7bdc125, []int{23} } func (m *IndexStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1461,7 +1571,7 @@ func (m *FieldStatus) Reset() { *m = FieldStatus{} } func (m *FieldStatus) String() string { return proto.CompactTextString(m) } func (*FieldStatus) ProtoMessage() {} func (*FieldStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{22} + return fileDescriptor_d2a91b51c7bdc125, []int{24} } func (m *FieldStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1525,7 +1635,7 @@ func (m *ClusterStatus) Reset() { *m = ClusterStatus{} } func (m *ClusterStatus) String() string { return proto.CompactTextString(m) } func (*ClusterStatus) ProtoMessage() {} func (*ClusterStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{23} + return fileDescriptor_d2a91b51c7bdc125, []int{25} } func (m *ClusterStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1596,7 +1706,7 @@ func (m *BSIGroup) Reset() { *m = BSIGroup{} } func (m *BSIGroup) String() string { return proto.CompactTextString(m) } func (*BSIGroup) ProtoMessage() {} func (*BSIGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{24} + return fileDescriptor_d2a91b51c7bdc125, []int{26} } func (m *BSIGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1666,7 +1776,7 @@ func (m *CreateViewMessage) Reset() { *m = CreateViewMessage{} } func (m *CreateViewMessage) String() string { return proto.CompactTextString(m) } func (*CreateViewMessage) ProtoMessage() {} func (*CreateViewMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{25} + return fileDescriptor_d2a91b51c7bdc125, []int{27} } func (m *CreateViewMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1729,7 +1839,7 @@ func (m *DeleteViewMessage) Reset() { *m = DeleteViewMessage{} } func (m *DeleteViewMessage) String() string { return proto.CompactTextString(m) } func (*DeleteViewMessage) ProtoMessage() {} func (*DeleteViewMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{26} + return fileDescriptor_d2a91b51c7bdc125, []int{28} } func (m *DeleteViewMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1796,7 +1906,7 @@ func (m *ResizeInstruction) Reset() { *m = ResizeInstruction{} } func (m *ResizeInstruction) String() string { return proto.CompactTextString(m) } func (*ResizeInstruction) ProtoMessage() {} func (*ResizeInstruction) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{27} + return fileDescriptor_d2a91b51c7bdc125, []int{29} } func (m *ResizeInstruction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1889,7 +1999,7 @@ func (m *ResizeSource) Reset() { *m = ResizeSource{} } func (m *ResizeSource) String() string { return proto.CompactTextString(m) } func (*ResizeSource) ProtoMessage() {} func (*ResizeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{28} + return fileDescriptor_d2a91b51c7bdc125, []int{30} } func (m *ResizeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1966,7 +2076,7 @@ func (m *TranslationResizeSource) Reset() { *m = TranslationResizeSource func (m *TranslationResizeSource) String() string { return proto.CompactTextString(m) } func (*TranslationResizeSource) ProtoMessage() {} func (*TranslationResizeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{29} + return fileDescriptor_d2a91b51c7bdc125, []int{31} } func (m *TranslationResizeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2029,7 +2139,7 @@ func (m *ResizeInstructionComplete) Reset() { *m = ResizeInstructionComp func (m *ResizeInstructionComplete) String() string { return proto.CompactTextString(m) } func (*ResizeInstructionComplete) ProtoMessage() {} func (*ResizeInstructionComplete) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{30} + return fileDescriptor_d2a91b51c7bdc125, []int{32} } func (m *ResizeInstructionComplete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2091,7 +2201,7 @@ func (m *Topology) Reset() { *m = Topology{} } func (m *Topology) String() string { return proto.CompactTextString(m) } func (*Topology) ProtoMessage() {} func (*Topology) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{31} + return fileDescriptor_d2a91b51c7bdc125, []int{33} } func (m *Topology) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2144,7 +2254,7 @@ func (m *RecalculateCaches) Reset() { *m = RecalculateCaches{} } func (m *RecalculateCaches) String() string { return proto.CompactTextString(m) } func (*RecalculateCaches) ProtoMessage() {} func (*RecalculateCaches) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{32} + return fileDescriptor_d2a91b51c7bdc125, []int{34} } func (m *RecalculateCaches) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2183,7 +2293,7 @@ func (m *LoadSchemaMessage) Reset() { *m = LoadSchemaMessage{} } func (m *LoadSchemaMessage) String() string { return proto.CompactTextString(m) } func (*LoadSchemaMessage) ProtoMessage() {} func (*LoadSchemaMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{33} + return fileDescriptor_d2a91b51c7bdc125, []int{35} } func (m *LoadSchemaMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2224,7 +2334,7 @@ func (m *TransactionMessage) Reset() { *m = TransactionMessage{} } func (m *TransactionMessage) String() string { return proto.CompactTextString(m) } func (*TransactionMessage) ProtoMessage() {} func (*TransactionMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{34} + return fileDescriptor_d2a91b51c7bdc125, []int{36} } func (m *TransactionMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2283,7 +2393,7 @@ func (m *Transaction) Reset() { *m = Transaction{} } func (m *Transaction) String() string { return proto.CompactTextString(m) } func (*Transaction) ProtoMessage() {} func (*Transaction) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{35} + return fileDescriptor_d2a91b51c7bdc125, []int{37} } func (m *Transaction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2364,7 +2474,7 @@ func (m *TransactionStats) Reset() { *m = TransactionStats{} } func (m *TransactionStats) String() string { return proto.CompactTextString(m) } func (*TransactionStats) ProtoMessage() {} func (*TransactionStats) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{36} + return fileDescriptor_d2a91b51c7bdc125, []int{38} } func (m *TransactionStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2403,7 +2513,7 @@ func (m *ResizeAbortMessage) Reset() { *m = ResizeAbortMessage{} } func (m *ResizeAbortMessage) String() string { return proto.CompactTextString(m) } func (*ResizeAbortMessage) ProtoMessage() {} func (*ResizeAbortMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{37} + return fileDescriptor_d2a91b51c7bdc125, []int{39} } func (m *ResizeAbortMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2444,7 +2554,7 @@ func (m *ResizeNodeMessage) Reset() { *m = ResizeNodeMessage{} } func (m *ResizeNodeMessage) String() string { return proto.CompactTextString(m) } func (*ResizeNodeMessage) ProtoMessage() {} func (*ResizeNodeMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{38} + return fileDescriptor_d2a91b51c7bdc125, []int{40} } func (m *ResizeNodeMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2500,7 +2610,7 @@ func (m *FieldOperation) Reset() { *m = FieldOperation{} } func (m *FieldOperation) String() string { return proto.CompactTextString(m) } func (*FieldOperation) ProtoMessage() {} func (*FieldOperation) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{39} + return fileDescriptor_d2a91b51c7bdc125, []int{41} } func (m *FieldOperation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2564,7 +2674,7 @@ func (m *ShardIngestOperation) Reset() { *m = ShardIngestOperation{} } func (m *ShardIngestOperation) String() string { return proto.CompactTextString(m) } func (*ShardIngestOperation) ProtoMessage() {} func (*ShardIngestOperation) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{40} + return fileDescriptor_d2a91b51c7bdc125, []int{42} } func (m *ShardIngestOperation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2632,7 +2742,7 @@ func (m *ShardIngestOperations) Reset() { *m = ShardIngestOperations{} } func (m *ShardIngestOperations) String() string { return proto.CompactTextString(m) } func (*ShardIngestOperations) ProtoMessage() {} func (*ShardIngestOperations) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{41} + return fileDescriptor_d2a91b51c7bdc125, []int{43} } func (m *ShardIngestOperations) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2679,7 +2789,7 @@ func (m *ShardedIngestRequest) Reset() { *m = ShardedIngestRequest{} } func (m *ShardedIngestRequest) String() string { return proto.CompactTextString(m) } func (*ShardedIngestRequest) ProtoMessage() {} func (*ShardedIngestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d2a91b51c7bdc125, []int{42} + return fileDescriptor_d2a91b51c7bdc125, []int{44} } func (m *ShardedIngestRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2728,6 +2838,8 @@ func init() { proto.RegisterType((*DeleteIndexMessage)(nil), "pb.DeleteIndexMessage") proto.RegisterType((*CreateIndexMessage)(nil), "pb.CreateIndexMessage") proto.RegisterType((*CreateFieldMessage)(nil), "pb.CreateFieldMessage") + proto.RegisterType((*UpdateFieldMessage)(nil), "pb.UpdateFieldMessage") + proto.RegisterType((*FieldUpdate)(nil), "pb.FieldUpdate") proto.RegisterType((*DeleteFieldMessage)(nil), "pb.DeleteFieldMessage") proto.RegisterType((*DeleteAvailableShardMessage)(nil), "pb.DeleteAvailableShardMessage") proto.RegisterType((*Field)(nil), "pb.Field") @@ -2767,111 +2879,114 @@ func init() { func init() { proto.RegisterFile("private.proto", fileDescriptor_d2a91b51c7bdc125) } var fileDescriptor_d2a91b51c7bdc125 = []byte{ - // 1652 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x6f, 0xdb, 0xc6, - 0x12, 0x7f, 0x24, 0x25, 0x4b, 0x1a, 0x59, 0xb6, 0xbc, 0xf1, 0xcb, 0xa3, 0x9d, 0x3c, 0x43, 0xde, - 0xf7, 0x90, 0xa8, 0x06, 0xea, 0xa2, 0xce, 0x21, 0x45, 0x7b, 0x89, 0x2d, 0x39, 0xa9, 0x9a, 0x38, - 0x71, 0xd6, 0x8e, 0x8f, 0x2d, 0xd6, 0xd2, 0xc2, 0x26, 0x4c, 0x91, 0x2a, 0x49, 0x39, 0x52, 0x0e, - 0x05, 0x5a, 0xb4, 0x68, 0x2f, 0xbd, 0xf7, 0xd4, 0x6f, 0xd1, 0x2f, 0xd0, 0x53, 0x2f, 0x05, 0xfa, - 0x11, 0x8a, 0xf4, 0x8b, 0x14, 0x3b, 0xbb, 0x4b, 0x52, 0x8a, 0x1c, 0xb5, 0x46, 0x6f, 0x9c, 0xdf, - 0xcc, 0xce, 0xbf, 0x9d, 0x9d, 0x9d, 0x25, 0xd4, 0x06, 0x91, 0x77, 0xc9, 0x13, 0xb1, 0x3d, 0x88, - 0xc2, 0x24, 0x24, 0xf6, 0xe0, 0x74, 0x7d, 0x71, 0x30, 0x3c, 0xf5, 0xbd, 0xae, 0x42, 0xe8, 0x23, - 0xa8, 0x74, 0x82, 0x9e, 0x18, 0x1d, 0x88, 0x84, 0x13, 0x02, 0x85, 0xc7, 0x62, 0x1c, 0xbb, 0x4e, - 0xc3, 0x6a, 0x96, 0x19, 0x7e, 0x93, 0x3b, 0xb0, 0x74, 0x1c, 0xf1, 0xee, 0xc5, 0xfe, 0xc8, 0x8b, - 0x13, 0x11, 0x74, 0x85, 0x5b, 0x40, 0xee, 0x14, 0x4a, 0x7f, 0x76, 0x60, 0xf1, 0xa1, 0x27, 0xfc, - 0xde, 0xb3, 0x41, 0xe2, 0x85, 0x41, 0x2c, 0x95, 0x1d, 0x8f, 0x07, 0xc2, 0x2d, 0x37, 0xac, 0x66, - 0x85, 0xe1, 0x37, 0xb9, 0x0d, 0x95, 0x16, 0xef, 0x9e, 0x0b, 0x64, 0x38, 0xc8, 0xc8, 0x80, 0x94, - 0x7b, 0xe4, 0xbd, 0x52, 0x56, 0x6a, 0x2c, 0x03, 0x48, 0x03, 0xaa, 0xc7, 0x5e, 0x5f, 0x3c, 0x1f, - 0xf2, 0x20, 0x19, 0xf6, 0xdd, 0x22, 0xae, 0xce, 0x43, 0xe4, 0x26, 0x2c, 0x3c, 0xf3, 0x7b, 0x07, - 0x5e, 0xe0, 0x56, 0x1a, 0x56, 0xd3, 0x61, 0x9a, 0x32, 0x38, 0x1f, 0xb9, 0x90, 0xe1, 0x7c, 0x94, - 0x86, 0x5b, 0x9d, 0x0c, 0xf7, 0x69, 0x78, 0x94, 0xf0, 0xa0, 0xc7, 0xa3, 0xde, 0x89, 0x27, 0x5e, - 0xba, 0x8b, 0x2a, 0xdc, 0x49, 0x54, 0xae, 0xdd, 0xe3, 0xb1, 0x70, 0x6b, 0xa8, 0x11, 0xbf, 0xc9, - 0x3a, 0x94, 0xf7, 0xbc, 0xa4, 0x2d, 0x06, 0xc9, 0xb9, 0xbb, 0xd4, 0xb0, 0x9a, 0x05, 0x96, 0xd2, - 0x64, 0x15, 0x8a, 0x47, 0x5d, 0xee, 0x0b, 0x77, 0x19, 0x17, 0x28, 0x82, 0x50, 0x58, 0x7c, 0x18, - 0x46, 0xc2, 0x3b, 0x0b, 0x70, 0x13, 0xdc, 0x3a, 0x06, 0x35, 0x81, 0x91, 0xff, 0x82, 0x23, 0x43, - 0x5a, 0x69, 0x58, 0xcd, 0xea, 0x4e, 0x75, 0x7b, 0x70, 0xba, 0xdd, 0x16, 0x5d, 0xaf, 0xcf, 0x7d, - 0x26, 0x71, 0x64, 0xf3, 0x91, 0x4b, 0x66, 0xb1, 0xf9, 0x48, 0xfa, 0x24, 0x53, 0xf4, 0x22, 0xf0, - 0x12, 0xf7, 0x06, 0x6a, 0x4f, 0x69, 0x52, 0x07, 0xe7, 0xf8, 0xf8, 0x89, 0xbb, 0x8a, 0xb0, 0xfc, - 0xa4, 0x14, 0x96, 0x3a, 0xfd, 0x41, 0x18, 0x25, 0x4c, 0xc4, 0x83, 0x30, 0x88, 0x85, 0x94, 0xd9, - 0x8f, 0x22, 0xd7, 0x52, 0x32, 0xfb, 0x51, 0x44, 0xbf, 0x80, 0xfa, 0x9e, 0x1f, 0x76, 0x2f, 0xda, - 0x3c, 0xe1, 0x4c, 0x7c, 0x3e, 0x14, 0x71, 0x22, 0xa3, 0x53, 0x01, 0x28, 0x39, 0x45, 0x48, 0x14, - 0x2b, 0xc2, 0xb5, 0x15, 0x8a, 0x84, 0xcc, 0x1c, 0xe6, 0x55, 0x6d, 0x20, 0x7e, 0x63, 0x76, 0xce, - 0x79, 0xd4, 0xc3, 0x5d, 0x2f, 0x30, 0x45, 0x48, 0x14, 0x2d, 0x61, 0xa5, 0x14, 0x98, 0x22, 0x68, - 0x07, 0x56, 0x72, 0xf6, 0xb5, 0x9b, 0x37, 0x61, 0x81, 0x85, 0x2f, 0x3b, 0xed, 0xd8, 0xb5, 0x1a, - 0x4e, 0xb3, 0xc0, 0x34, 0x85, 0x25, 0x15, 0xfa, 0xc3, 0x7e, 0x20, 0x59, 0x36, 0xb2, 0x32, 0x80, - 0xae, 0x41, 0x11, 0xeb, 0x4b, 0x46, 0x99, 0xad, 0x95, 0x9f, 0xf4, 0x4b, 0x0b, 0x2a, 0x07, 0x7c, - 0x84, 0x8e, 0xc4, 0xe4, 0x3e, 0x94, 0xcd, 0xee, 0xa3, 0x50, 0x75, 0xe7, 0x96, 0xcc, 0x74, 0x2a, - 0xb0, 0x6d, 0xb8, 0xfb, 0x41, 0x12, 0x8d, 0x59, 0x2a, 0xbc, 0xfe, 0x11, 0xd4, 0x26, 0x58, 0xd2, - 0xd2, 0x85, 0x18, 0x9b, 0x7c, 0x5e, 0x88, 0xb1, 0x8c, 0xf2, 0x92, 0xfb, 0x43, 0x81, 0x59, 0x2a, - 0x30, 0x45, 0x7c, 0x68, 0x7f, 0x60, 0xd1, 0x13, 0x20, 0xad, 0x48, 0xf0, 0x44, 0xa0, 0x91, 0x03, - 0x11, 0xc7, 0xfc, 0x4c, 0xcc, 0xcb, 0xb5, 0x93, 0xcf, 0x75, 0x9a, 0x57, 0x3b, 0x97, 0x57, 0xba, - 0x05, 0xa4, 0x2d, 0x7c, 0x91, 0x08, 0x7d, 0xf2, 0xdf, 0xa2, 0x97, 0x5e, 0x18, 0x1f, 0xe6, 0xcb, - 0x92, 0x4d, 0x28, 0xc8, 0x36, 0x82, 0xc6, 0xaa, 0x3b, 0x35, 0x99, 0xa1, 0xb4, 0xb7, 0x30, 0x64, - 0xe1, 0x7e, 0xa0, 0xba, 0xde, 0x6e, 0x82, 0xae, 0x3a, 0x2c, 0x03, 0xe8, 0xd7, 0x96, 0xb1, 0x86, - 0xee, 0xff, 0xc5, 0x88, 0x27, 0xaa, 0xeb, 0xff, 0xda, 0x07, 0x07, 0x7d, 0xa8, 0x4b, 0x1f, 0xf2, - 0x5d, 0x69, 0x96, 0x1b, 0x85, 0x69, 0x37, 0x1e, 0x98, 0xfc, 0x5c, 0xd7, 0x0b, 0xda, 0x85, 0x5b, - 0x4a, 0xc3, 0xee, 0x25, 0xf7, 0x7c, 0x7e, 0xea, 0xff, 0xad, 0x2d, 0x9c, 0x08, 0xc8, 0x85, 0x12, - 0xae, 0xed, 0xb4, 0xf5, 0x31, 0x30, 0x24, 0x1d, 0x42, 0x76, 0xa2, 0x9e, 0xf2, 0xbe, 0xd0, 0xda, - 0xf0, 0x3b, 0xcd, 0x83, 0xfd, 0xd6, 0x3c, 0xac, 0x42, 0x51, 0x9e, 0x3f, 0xd9, 0xf1, 0x1d, 0x69, - 0x12, 0x89, 0x39, 0xd9, 0x79, 0x17, 0x16, 0x8e, 0xba, 0xe7, 0xa2, 0xcf, 0xc9, 0xff, 0xa0, 0x84, - 0x9e, 0x8b, 0x58, 0x1f, 0x8a, 0x4a, 0xba, 0xe5, 0xcc, 0x70, 0xe8, 0x37, 0x96, 0x0e, 0x76, 0xa6, - 0x9b, 0x13, 0xa6, 0xec, 0x29, 0x53, 0xe4, 0x2e, 0x94, 0xb4, 0xbf, 0xd8, 0x2d, 0xde, 0xa8, 0x29, - 0xc3, 0x25, 0x9b, 0xb0, 0x80, 0xd1, 0xc5, 0x6e, 0x21, 0x73, 0x04, 0x11, 0xa6, 0x19, 0x74, 0x1f, - 0x9c, 0x17, 0xac, 0x23, 0x1b, 0x05, 0x7a, 0x6f, 0xdc, 0xd0, 0x94, 0x74, 0xee, 0xe3, 0x30, 0x4e, - 0x74, 0xee, 0xf1, 0x5b, 0x62, 0x87, 0x61, 0xa4, 0xea, 0xb4, 0xc6, 0xf0, 0x9b, 0x7e, 0x67, 0x41, - 0xe1, 0x69, 0xd8, 0x13, 0x64, 0x09, 0xec, 0x4e, 0x5b, 0x2b, 0xb1, 0x3b, 0x6d, 0xb2, 0x86, 0xfa, - 0x75, 0xbe, 0x4b, 0xd2, 0xfe, 0x0b, 0xd6, 0x61, 0x68, 0xf3, 0x36, 0x54, 0x3a, 0xf1, 0x61, 0xe4, - 0xf5, 0x79, 0x34, 0xd6, 0x77, 0x6b, 0x06, 0xe0, 0x19, 0x4d, 0x78, 0xa2, 0x6e, 0xbc, 0x0a, 0x53, - 0x04, 0xd9, 0x84, 0xd2, 0x23, 0x76, 0xd8, 0x92, 0x2a, 0x8b, 0x93, 0x2a, 0x0d, 0x4e, 0x1f, 0x40, - 0x5d, 0x7a, 0x82, 0xf2, 0xa6, 0xb2, 0x6e, 0xc2, 0x82, 0xc4, 0x52, 0xcf, 0x34, 0x95, 0x19, 0xb1, - 0x73, 0x46, 0xe8, 0x43, 0xa5, 0x61, 0xff, 0x52, 0x04, 0x49, 0xae, 0x36, 0x91, 0x46, 0x05, 0x35, - 0xa6, 0x08, 0x72, 0x5b, 0x45, 0xad, 0xc3, 0x2b, 0x4b, 0x5f, 0x24, 0xcd, 0x10, 0xa5, 0x63, 0x00, - 0xe3, 0xc9, 0x30, 0x4e, 0x65, 0xad, 0x59, 0xb2, 0x84, 0x9a, 0xf2, 0xd1, 0x47, 0x14, 0x24, 0x5f, - 0x21, 0xcc, 0x14, 0xd6, 0x3b, 0x59, 0x61, 0xa9, 0xfd, 0x5c, 0x4e, 0xf7, 0x5d, 0xd9, 0xc8, 0xca, - 0xeb, 0x1c, 0xaa, 0x39, 0x7c, 0x66, 0x8d, 0xdd, 0x4d, 0x8b, 0xc3, 0xce, 0x94, 0x21, 0xa2, 0x95, - 0x69, 0xf6, 0x9c, 0xe6, 0xe4, 0x41, 0x35, 0xb7, 0x68, 0xa6, 0xa5, 0x26, 0x2c, 0x4f, 0x1e, 0x78, - 0x73, 0xe7, 0x4c, 0xc3, 0x73, 0x4c, 0x7d, 0x6b, 0x41, 0xad, 0xe5, 0x0f, 0xe3, 0x44, 0x44, 0x69, - 0x4e, 0x2b, 0x1a, 0x48, 0xb7, 0x36, 0x03, 0x66, 0xef, 0x2e, 0xd9, 0x80, 0xa2, 0xcc, 0xb8, 0x3a, - 0xdc, 0xf9, 0x8d, 0x50, 0x70, 0x6e, 0x27, 0x0a, 0x57, 0xed, 0x04, 0x3d, 0x81, 0xf2, 0xde, 0x51, - 0xe7, 0x51, 0x14, 0x0e, 0x07, 0x33, 0x23, 0x36, 0x43, 0x9e, 0x9d, 0x1b, 0xf2, 0xea, 0x6a, 0x60, - 0x51, 0x51, 0xe1, 0x8c, 0x52, 0x57, 0x33, 0x4a, 0x41, 0x23, 0x7c, 0x44, 0x8f, 0x60, 0x45, 0x85, - 0x2b, 0x3b, 0xce, 0x75, 0xda, 0xa2, 0x99, 0x22, 0x9c, 0x6c, 0x8a, 0x90, 0x4a, 0x55, 0xd7, 0xfd, - 0x27, 0x95, 0xfe, 0x6a, 0xc3, 0x0a, 0x13, 0xb1, 0xf7, 0x4a, 0x74, 0x82, 0x38, 0x89, 0x86, 0x5d, - 0xd9, 0x71, 0xe4, 0xfa, 0x4f, 0xc2, 0x53, 0xbd, 0x17, 0x0e, 0x53, 0xc4, 0xdb, 0x4f, 0x09, 0xa1, - 0x50, 0xca, 0x37, 0x81, 0xbc, 0x80, 0x61, 0x90, 0x2d, 0x28, 0x1d, 0x85, 0xc3, 0xa8, 0x9b, 0x56, - 0x3e, 0x76, 0x6e, 0x65, 0x5f, 0x31, 0x98, 0x11, 0x20, 0x8f, 0x81, 0x1c, 0x47, 0x3c, 0x88, 0x7d, - 0x2e, 0x5d, 0x32, 0xcb, 0xca, 0xd9, 0x78, 0x92, 0xe3, 0x4e, 0x68, 0x98, 0xb1, 0x8c, 0x6c, 0xe7, - 0x8f, 0xb0, 0x5b, 0x42, 0xff, 0x96, 0x8c, 0x7f, 0xfa, 0x9c, 0xe4, 0x0f, 0xf9, 0xfd, 0xa9, 0x0a, - 0x75, 0x17, 0x70, 0xc9, 0x8a, 0x5c, 0x32, 0xc1, 0x60, 0x93, 0x72, 0xf4, 0x2b, 0x0b, 0x16, 0xf3, - 0xde, 0xcc, 0x69, 0x17, 0xe9, 0xf6, 0xd9, 0xf3, 0xa7, 0x1d, 0xb3, 0x7d, 0x85, 0x59, 0x93, 0x65, - 0x31, 0x3f, 0x01, 0x85, 0xf0, 0x9f, 0x2b, 0x92, 0x73, 0x2d, 0x77, 0x1a, 0x50, 0x3d, 0xe4, 0x51, - 0xe2, 0x49, 0x65, 0xfa, 0x9e, 0x2e, 0xb2, 0x3c, 0x44, 0x05, 0xac, 0xbd, 0x51, 0x44, 0xad, 0xb0, - 0x3f, 0x90, 0xd5, 0x7a, 0xad, 0x62, 0x92, 0x6d, 0x3a, 0x8a, 0xc2, 0xc8, 0x64, 0x00, 0x09, 0xba, - 0x07, 0xe5, 0xe3, 0x70, 0x10, 0xfa, 0xe1, 0xd9, 0x78, 0x4e, 0xcb, 0x70, 0xa1, 0xa4, 0xae, 0x06, - 0xd5, 0xa2, 0x2a, 0xcc, 0x90, 0xf4, 0x86, 0xac, 0xf7, 0x2e, 0xf7, 0xbb, 0x43, 0x9f, 0x27, 0x02, - 0xe7, 0x63, 0x04, 0x9f, 0x84, 0xbc, 0xa7, 0xba, 0x82, 0x3e, 0x5a, 0xf4, 0x33, 0x5d, 0x80, 0x1c, - 0xc3, 0xc9, 0x5d, 0x41, 0xbb, 0x08, 0x98, 0x2b, 0x48, 0x51, 0xe4, 0x7d, 0xa8, 0xe6, 0xa4, 0x75, - 0x58, 0xcb, 0x69, 0x9d, 0x2a, 0x98, 0xe5, 0x65, 0xe8, 0x4f, 0xd6, 0xc4, 0x9a, 0x37, 0xee, 0x5c, - 0x6d, 0xea, 0x52, 0x25, 0xa9, 0xcc, 0x34, 0x25, 0x43, 0xdf, 0x1f, 0x75, 0xfd, 0x61, 0x2c, 0x59, - 0xfa, 0xc2, 0x4d, 0x01, 0x19, 0xba, 0x7c, 0x02, 0x85, 0x43, 0x33, 0xdc, 0x18, 0x52, 0x3e, 0x96, - 0xda, 0x82, 0xf7, 0x7c, 0x2f, 0x10, 0x58, 0x2f, 0x0e, 0x4b, 0x69, 0xb2, 0xa5, 0x7a, 0xac, 0x29, - 0xf4, 0xd5, 0x29, 0xc7, 0x91, 0xa7, 0x3a, 0x6f, 0x4c, 0x09, 0xd4, 0xa7, 0x59, 0x74, 0x15, 0x88, - 0xaa, 0x80, 0xdd, 0xd3, 0x30, 0x32, 0xb7, 0x2d, 0x6d, 0x99, 0xe6, 0x22, 0xb3, 0x3f, 0xef, 0x12, - 0xcf, 0x32, 0x6b, 0xe7, 0x33, 0x4b, 0x3f, 0x85, 0x25, 0x3d, 0xdb, 0x89, 0x08, 0x0b, 0x5a, 0x26, - 0x80, 0x89, 0x6e, 0x28, 0xc7, 0x44, 0xf3, 0xaa, 0xc9, 0x00, 0xa9, 0xe7, 0x44, 0x3e, 0x32, 0xcc, - 0xed, 0xa4, 0x29, 0x9c, 0x8d, 0xbc, 0xb3, 0x40, 0xf4, 0xf0, 0xc6, 0x70, 0x98, 0xa6, 0xe8, 0xf7, - 0x36, 0xac, 0xaa, 0xa1, 0x33, 0x38, 0x13, 0x71, 0x92, 0x99, 0x91, 0x0f, 0xeb, 0x01, 0xf6, 0x7f, - 0xed, 0xa8, 0xa2, 0xe4, 0x23, 0xba, 0xe5, 0x0b, 0x1e, 0x65, 0x3e, 0x28, 0x43, 0x53, 0xa8, 0x3c, - 0x37, 0x88, 0xe8, 0xeb, 0x59, 0x0d, 0xa1, 0x79, 0x88, 0xec, 0x41, 0x59, 0x87, 0x66, 0x1a, 0xe2, - 0x1d, 0xbc, 0xa5, 0x66, 0x78, 0x63, 0xe6, 0xdb, 0x58, 0xbf, 0xc1, 0x0c, 0xb9, 0xfe, 0x0c, 0x6a, - 0x13, 0xac, 0x19, 0x6f, 0xb0, 0x66, 0xfe, 0x0d, 0x56, 0xdd, 0x21, 0xb9, 0x71, 0x59, 0x6b, 0xcf, - 0xbf, 0xcb, 0x5a, 0xf0, 0xef, 0x59, 0x0e, 0xc4, 0x64, 0x0b, 0x1c, 0xe9, 0xa8, 0x1a, 0x86, 0xdd, - 0xab, 0x1c, 0x65, 0x52, 0x88, 0xfe, 0x68, 0xe9, 0xa4, 0x0a, 0xcd, 0x37, 0x6f, 0xe9, 0x7b, 0x79, - 0x25, 0x9b, 0xa9, 0x92, 0x29, 0xb1, 0xed, 0x34, 0x50, 0x29, 0xbd, 0xfe, 0x1c, 0xca, 0xb3, 0xc2, - 0x2b, 0xa8, 0xf0, 0xde, 0x9b, 0x0c, 0x6f, 0xed, 0x2a, 0xcf, 0xe2, 0x5c, 0x94, 0x7b, 0xf5, 0x5f, - 0x5e, 0x6f, 0x58, 0xbf, 0xbd, 0xde, 0xb0, 0x7e, 0x7f, 0xbd, 0x61, 0xfd, 0xf0, 0xc7, 0xc6, 0xbf, - 0x4e, 0x17, 0xf0, 0x97, 0xd1, 0xbd, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x83, 0x3d, 0x4c, - 0x55, 0x12, 0x00, 0x00, + // 1701 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4b, 0x6f, 0x23, 0x4b, + 0x15, 0xa6, 0x1f, 0xf1, 0xe3, 0x38, 0xce, 0x38, 0x75, 0xc3, 0xd0, 0x93, 0x3b, 0x44, 0x9e, 0x02, + 0xcd, 0x98, 0x91, 0x08, 0x22, 0x77, 0x71, 0x11, 0x77, 0x73, 0x27, 0x76, 0x66, 0x30, 0xf7, 0xce, + 0xe3, 0x56, 0x1e, 0x4b, 0x50, 0xa5, 0x5d, 0x4a, 0x5a, 0x69, 0x77, 0x9b, 0xee, 0x76, 0xc6, 0x9e, + 0x05, 0x12, 0x08, 0x04, 0x1b, 0xf6, 0xac, 0xf8, 0x17, 0xfc, 0x01, 0x56, 0x6c, 0x90, 0xf8, 0x09, + 0x68, 0xf8, 0x23, 0xa8, 0x4e, 0x55, 0x75, 0x97, 0x1d, 0x27, 0x86, 0x88, 0x5d, 0x9f, 0xef, 0x9c, + 0x3a, 0xef, 0x3a, 0x75, 0x6c, 0x68, 0x4f, 0xb2, 0xe8, 0x9a, 0x17, 0x62, 0x7f, 0x92, 0xa5, 0x45, + 0x4a, 0xdc, 0xc9, 0xf9, 0xee, 0xe6, 0x64, 0x7a, 0x1e, 0x47, 0xa1, 0x42, 0xe8, 0x2b, 0x68, 0x0e, + 0x93, 0x91, 0x98, 0xbd, 0x16, 0x05, 0x27, 0x04, 0xfc, 0xaf, 0xc4, 0x3c, 0x0f, 0xbc, 0xae, 0xd3, + 0x6b, 0x30, 0xfc, 0x26, 0x4f, 0x61, 0xeb, 0x24, 0xe3, 0xe1, 0xd5, 0xd1, 0x2c, 0xca, 0x0b, 0x91, + 0x84, 0x22, 0xf0, 0x91, 0xbb, 0x84, 0xd2, 0xbf, 0x79, 0xb0, 0xf9, 0x32, 0x12, 0xf1, 0xe8, 0xed, + 0xa4, 0x88, 0xd2, 0x24, 0x97, 0xca, 0x4e, 0xe6, 0x13, 0x11, 0x34, 0xba, 0x4e, 0xaf, 0xc9, 0xf0, + 0x9b, 0x3c, 0x86, 0x66, 0x9f, 0x87, 0x97, 0x02, 0x19, 0x1e, 0x32, 0x2a, 0xa0, 0xe4, 0x1e, 0x47, + 0x1f, 0x94, 0x95, 0x36, 0xab, 0x00, 0xd2, 0x85, 0xd6, 0x49, 0x34, 0x16, 0xdf, 0x4c, 0x79, 0x52, + 0x4c, 0xc7, 0xc1, 0x06, 0x9e, 0xb6, 0x21, 0xf2, 0x10, 0x6a, 0x6f, 0xe3, 0xd1, 0xeb, 0x28, 0x09, + 0x9a, 0x5d, 0xa7, 0xe7, 0x31, 0x4d, 0x19, 0x9c, 0xcf, 0x02, 0xa8, 0x70, 0x3e, 0x2b, 0xc3, 0x6d, + 0x2d, 0x86, 0xfb, 0x26, 0x3d, 0x2e, 0x78, 0x32, 0xe2, 0xd9, 0xe8, 0x2c, 0x12, 0xef, 0x83, 0x4d, + 0x15, 0xee, 0x22, 0x2a, 0xcf, 0x1e, 0xf2, 0x5c, 0x04, 0x6d, 0xd4, 0x88, 0xdf, 0x64, 0x17, 0x1a, + 0x87, 0x51, 0x31, 0x10, 0x93, 0xe2, 0x32, 0xd8, 0xea, 0x3a, 0x3d, 0x9f, 0x95, 0x34, 0xd9, 0x81, + 0x8d, 0xe3, 0x90, 0xc7, 0x22, 0x78, 0x80, 0x07, 0x14, 0x41, 0x28, 0x6c, 0xbe, 0x4c, 0x33, 0x11, + 0x5d, 0x24, 0x58, 0x84, 0xa0, 0x83, 0x41, 0x2d, 0x60, 0xe4, 0xbb, 0xe0, 0xc9, 0x90, 0xb6, 0xbb, + 0x4e, 0xaf, 0x75, 0xd0, 0xda, 0x9f, 0x9c, 0xef, 0x0f, 0x44, 0x18, 0x8d, 0x79, 0xcc, 0x24, 0x8e, + 0x6c, 0x3e, 0x0b, 0xc8, 0x2a, 0x36, 0x9f, 0x49, 0x9f, 0x64, 0x8a, 0x4e, 0x93, 0xa8, 0x08, 0x3e, + 0x41, 0xed, 0x25, 0x4d, 0x3a, 0xe0, 0x9d, 0x9c, 0x7c, 0x1d, 0xec, 0x20, 0x2c, 0x3f, 0x29, 0x85, + 0xad, 0xe1, 0x78, 0x92, 0x66, 0x05, 0x13, 0xf9, 0x24, 0x4d, 0x72, 0x21, 0x65, 0x8e, 0xb2, 0x2c, + 0x70, 0x94, 0xcc, 0x51, 0x96, 0xd1, 0x5f, 0x43, 0xe7, 0x30, 0x4e, 0xc3, 0xab, 0x01, 0x2f, 0x38, + 0x13, 0xbf, 0x9a, 0x8a, 0xbc, 0x90, 0xd1, 0xa9, 0x00, 0x94, 0x9c, 0x22, 0x24, 0x8a, 0x1d, 0x11, + 0xb8, 0x0a, 0x45, 0x42, 0x66, 0x0e, 0xf3, 0xaa, 0x0a, 0x88, 0xdf, 0x98, 0x9d, 0x4b, 0x9e, 0x8d, + 0xb0, 0xea, 0x3e, 0x53, 0x84, 0x44, 0xd1, 0x12, 0x76, 0x8a, 0xcf, 0x14, 0x41, 0x87, 0xb0, 0x6d, + 0xd9, 0xd7, 0x6e, 0x3e, 0x84, 0x1a, 0x4b, 0xdf, 0x0f, 0x07, 0x79, 0xe0, 0x74, 0xbd, 0x9e, 0xcf, + 0x34, 0x85, 0x2d, 0x95, 0xc6, 0xd3, 0x71, 0x22, 0x59, 0x2e, 0xb2, 0x2a, 0x80, 0x3e, 0x82, 0x0d, + 0xec, 0x2f, 0x19, 0x65, 0x75, 0x56, 0x7e, 0xd2, 0xdf, 0x38, 0xd0, 0x7c, 0xcd, 0x67, 0xe8, 0x48, + 0x4e, 0x3e, 0x87, 0x86, 0xa9, 0x3e, 0x0a, 0xb5, 0x0e, 0x3e, 0x95, 0x99, 0x2e, 0x05, 0xf6, 0x0d, + 0xf7, 0x28, 0x29, 0xb2, 0x39, 0x2b, 0x85, 0x77, 0xbf, 0x80, 0xf6, 0x02, 0x4b, 0x5a, 0xba, 0x12, + 0x73, 0x93, 0xcf, 0x2b, 0x31, 0x97, 0x51, 0x5e, 0xf3, 0x78, 0x2a, 0x30, 0x4b, 0x3e, 0x53, 0xc4, + 0x4f, 0xdd, 0x9f, 0x38, 0xf4, 0x0c, 0x48, 0x3f, 0x13, 0xbc, 0x10, 0x68, 0xe4, 0xb5, 0xc8, 0x73, + 0x7e, 0x21, 0xd6, 0xe5, 0xda, 0xb3, 0x73, 0x5d, 0xe6, 0xd5, 0xb5, 0xf2, 0x4a, 0x9f, 0x03, 0x19, + 0x88, 0x58, 0x14, 0x42, 0xdf, 0xfc, 0x3b, 0xf4, 0xd2, 0x2b, 0xe3, 0xc3, 0x7a, 0x59, 0xf2, 0x04, + 0x7c, 0x39, 0x46, 0xd0, 0x58, 0xeb, 0xa0, 0x2d, 0x33, 0x54, 0xce, 0x16, 0x86, 0x2c, 0xac, 0x07, + 0xaa, 0x1b, 0xbd, 0x28, 0xd0, 0x55, 0x8f, 0x55, 0x00, 0xfd, 0x9d, 0x63, 0xac, 0xa1, 0xfb, 0xff, + 0x65, 0xc4, 0x0b, 0xdd, 0xf5, 0x7d, 0xed, 0x83, 0x87, 0x3e, 0x74, 0xa4, 0x0f, 0xf6, 0x54, 0x5a, + 0xe5, 0x86, 0xbf, 0xec, 0xc6, 0xef, 0x1d, 0x20, 0xa7, 0x93, 0xd1, 0xb2, 0x1b, 0x2f, 0x57, 0x39, + 0x87, 0x3e, 0xb5, 0x0e, 0x1e, 0x4a, 0x43, 0x37, 0xb9, 0x6c, 0x55, 0x38, 0xcf, 0xa0, 0xa6, 0xb4, + 0xeb, 0x44, 0x3d, 0x28, 0x9d, 0x54, 0x30, 0xd3, 0x6c, 0xfa, 0x05, 0xb4, 0x2c, 0x18, 0xc7, 0x18, + 0x46, 0xa1, 0xf3, 0xa0, 0x29, 0x99, 0x88, 0xb3, 0xb2, 0x81, 0x9a, 0x4c, 0x11, 0xf4, 0x4b, 0x53, + 0xe4, 0xfb, 0xa6, 0x92, 0x86, 0xf0, 0xa9, 0xd2, 0xf0, 0xe2, 0x9a, 0x47, 0x31, 0x3f, 0x8f, 0xff, + 0xa7, 0x3e, 0x5c, 0xa8, 0x4a, 0x00, 0x75, 0x3c, 0x3b, 0x1c, 0xe8, 0xbb, 0x6c, 0x48, 0x3a, 0x85, + 0x6a, 0x2c, 0xbc, 0xe1, 0x63, 0xa1, 0xb5, 0xe1, 0x77, 0x59, 0x4c, 0xf7, 0xce, 0x62, 0xca, 0xf8, + 0x23, 0xf1, 0x5e, 0x3e, 0x5b, 0x1e, 0xc6, 0x2f, 0x89, 0x35, 0x25, 0xfe, 0x21, 0xd4, 0x8e, 0xc3, + 0x4b, 0x31, 0xe6, 0xe4, 0x7b, 0x50, 0x47, 0xcf, 0x45, 0xae, 0x6f, 0x76, 0xb3, 0xec, 0x5b, 0x66, + 0x38, 0xb2, 0x23, 0x74, 0x7c, 0xab, 0xdc, 0x5c, 0x30, 0xe5, 0x2e, 0x99, 0x22, 0xcf, 0xa0, 0xae, + 0xfd, 0xc5, 0x91, 0x77, 0xe3, 0x62, 0x18, 0x2e, 0x79, 0x02, 0x35, 0x8c, 0x2e, 0x0f, 0xfc, 0xca, + 0x11, 0x44, 0x98, 0x66, 0xd0, 0x23, 0xf0, 0x4e, 0xd9, 0x50, 0x76, 0x02, 0x7a, 0x6f, 0xdc, 0xd0, + 0x94, 0x74, 0xee, 0x67, 0x69, 0x5e, 0xe8, 0xdc, 0xe3, 0xb7, 0xc4, 0xde, 0xa5, 0x99, 0xba, 0x6c, + 0x6d, 0x86, 0xdf, 0xf4, 0x8f, 0x0e, 0xf8, 0x6f, 0xd2, 0x91, 0x20, 0x5b, 0xe0, 0x0e, 0x07, 0x5a, + 0x89, 0x3b, 0x1c, 0x90, 0x47, 0xa8, 0x5f, 0xe7, 0xbb, 0x2e, 0xed, 0x9f, 0xb2, 0x21, 0x43, 0x9b, + 0x8f, 0xa1, 0x39, 0xcc, 0xdf, 0x65, 0xd1, 0x98, 0x67, 0x73, 0xbd, 0x20, 0x54, 0x00, 0x0e, 0x9a, + 0x42, 0xb6, 0xb4, 0xaf, 0xca, 0x8e, 0x04, 0x79, 0x02, 0xf5, 0x57, 0xec, 0x5d, 0x5f, 0xaa, 0xdc, + 0x58, 0x54, 0x69, 0x70, 0xfa, 0x25, 0x74, 0xa4, 0x27, 0x28, 0x6f, 0x3a, 0xeb, 0x21, 0xd4, 0x24, + 0x56, 0x7a, 0xa6, 0xa9, 0xca, 0x88, 0x6b, 0x19, 0xa1, 0x2f, 0x95, 0x86, 0xa3, 0x6b, 0x91, 0x14, + 0x56, 0x6f, 0x22, 0x8d, 0x0a, 0xda, 0x4c, 0x11, 0xe4, 0xb1, 0x8a, 0x5a, 0x87, 0xd7, 0x90, 0xbe, + 0x48, 0x9a, 0x21, 0x4a, 0xe7, 0x00, 0xc6, 0x93, 0x69, 0x5e, 0xca, 0x3a, 0xab, 0x64, 0x09, 0x35, + 0xed, 0xa3, 0xe7, 0x0c, 0x48, 0xbe, 0x42, 0x98, 0x69, 0xac, 0x1f, 0x54, 0x8d, 0xa5, 0xea, 0xf9, + 0xa0, 0xac, 0xbb, 0xb2, 0x51, 0xb5, 0xd7, 0x25, 0xb4, 0x2c, 0x7c, 0x65, 0x8f, 0x3d, 0x2b, 0x9b, + 0xc3, 0xad, 0x94, 0x21, 0xa2, 0x95, 0x69, 0xf6, 0x9a, 0x09, 0x1b, 0xe9, 0x91, 0x72, 0x87, 0xa5, + 0x1e, 0x3c, 0x58, 0xbc, 0xf0, 0xe6, 0xe1, 0x5c, 0x86, 0xd7, 0x98, 0xfa, 0x83, 0x03, 0xed, 0x7e, + 0x3c, 0xcd, 0x0b, 0x91, 0x95, 0x39, 0x6d, 0x6a, 0xa0, 0x2c, 0x6d, 0x05, 0xac, 0xae, 0x2e, 0xd9, + 0x83, 0x0d, 0x99, 0x71, 0x75, 0xb9, 0xed, 0x42, 0x28, 0xd8, 0xaa, 0x84, 0x7f, 0x5b, 0x25, 0xe8, + 0x19, 0x34, 0x0e, 0x8f, 0x87, 0xaf, 0xb2, 0x74, 0x3a, 0x59, 0x19, 0xb1, 0xd9, 0x54, 0x5d, 0x6b, + 0x53, 0xed, 0xa8, 0xad, 0x4b, 0x45, 0x85, 0x8b, 0x56, 0x47, 0x2d, 0x5a, 0xbe, 0x46, 0xf8, 0x8c, + 0x1e, 0xc3, 0xb6, 0x0a, 0x57, 0x4e, 0x9c, 0xfb, 0x8c, 0x45, 0xb3, 0x0a, 0x79, 0xd5, 0x2a, 0x24, + 0x95, 0xaa, 0xa9, 0xfb, 0xff, 0x54, 0xfa, 0x0f, 0x17, 0xb6, 0x99, 0xc8, 0xa3, 0x0f, 0x62, 0x98, + 0xe4, 0x45, 0x36, 0x0d, 0xcd, 0xc3, 0xf1, 0xf3, 0xf4, 0x5c, 0xd7, 0xc2, 0x63, 0x8a, 0xb8, 0xfb, + 0x96, 0x10, 0x0a, 0x75, 0x7b, 0x08, 0xd8, 0x02, 0x86, 0x41, 0x9e, 0x43, 0xfd, 0x38, 0x9d, 0x66, + 0x61, 0xd9, 0xf9, 0x38, 0xb9, 0x95, 0x7d, 0xc5, 0x60, 0x46, 0x80, 0x7c, 0x05, 0xe4, 0x24, 0xe3, + 0x49, 0x1e, 0x73, 0xe9, 0x92, 0x39, 0xd6, 0xa8, 0x76, 0x2c, 0x8b, 0xbb, 0xa0, 0x61, 0xc5, 0x31, + 0xb2, 0x6f, 0x5f, 0xe1, 0xa0, 0x8e, 0xfe, 0x6d, 0x19, 0xff, 0xf4, 0x3d, 0xb1, 0x2f, 0xf9, 0xe7, + 0x4b, 0x1d, 0x1a, 0xd4, 0xf0, 0xc8, 0x36, 0x3e, 0xe6, 0x36, 0x83, 0x2d, 0xca, 0xd1, 0xdf, 0x3a, + 0xb0, 0x69, 0x7b, 0xb3, 0x66, 0x5c, 0x94, 0xe5, 0x73, 0xd7, 0xaf, 0x6c, 0xa6, 0x7c, 0xfe, 0xaa, + 0xf5, 0x78, 0xc3, 0x5e, 0xe3, 0x52, 0xf8, 0xce, 0x2d, 0xc9, 0xb9, 0x97, 0x3b, 0x5d, 0x68, 0xbd, + 0xe3, 0x59, 0x11, 0x49, 0x65, 0xfa, 0x9d, 0xde, 0x60, 0x36, 0x44, 0x05, 0x3c, 0xba, 0xd1, 0x44, + 0xfd, 0x74, 0x3c, 0x91, 0xdd, 0x7a, 0xaf, 0x66, 0x92, 0x63, 0x3a, 0xcb, 0xd2, 0xcc, 0x64, 0x00, + 0x09, 0x7a, 0x08, 0x8d, 0x93, 0x74, 0x92, 0xc6, 0xe9, 0xc5, 0x7c, 0xcd, 0xc8, 0x08, 0xa0, 0xae, + 0x9e, 0x06, 0x35, 0xa2, 0x9a, 0xcc, 0x90, 0xf4, 0x13, 0xd9, 0xef, 0x21, 0x8f, 0xc3, 0x69, 0xcc, + 0x0b, 0x81, 0x4b, 0x3e, 0x82, 0x5f, 0xa7, 0x7c, 0xa4, 0xa6, 0x82, 0xbe, 0x5a, 0xf4, 0x97, 0xba, + 0x01, 0x39, 0x86, 0x63, 0x3d, 0x41, 0x2f, 0x42, 0x7b, 0xd7, 0x52, 0x14, 0xf9, 0x31, 0xb4, 0x2c, + 0x69, 0x7b, 0x81, 0xb3, 0x60, 0x66, 0xcb, 0xd0, 0xbf, 0x3a, 0x0b, 0x67, 0x6e, 0xbc, 0xb9, 0xda, + 0xd4, 0xb5, 0x4a, 0x52, 0x83, 0x69, 0x4a, 0x86, 0x7e, 0x34, 0x0b, 0xe3, 0x69, 0x2e, 0x59, 0xfa, + 0xc1, 0x2d, 0x01, 0x19, 0xba, 0xfc, 0x1d, 0x97, 0x4e, 0xcd, 0x72, 0x63, 0x48, 0xf9, 0x8b, 0x6f, + 0x20, 0xf8, 0x28, 0x8e, 0x12, 0x81, 0xfd, 0xe2, 0xb1, 0x92, 0x26, 0xcf, 0xd5, 0x8c, 0x35, 0x8d, + 0xbe, 0xb3, 0xe4, 0x38, 0xf2, 0xd4, 0xe4, 0xcd, 0x29, 0x81, 0xce, 0x32, 0x8b, 0xee, 0x00, 0x51, + 0x1d, 0xf0, 0xe2, 0x3c, 0xcd, 0xcc, 0x6b, 0x4b, 0xfb, 0x66, 0xb8, 0xc8, 0xec, 0xaf, 0x7b, 0xc4, + 0xab, 0xcc, 0xba, 0x76, 0x66, 0xe9, 0x2f, 0x60, 0x4b, 0xef, 0x76, 0x22, 0xc3, 0x86, 0x96, 0x09, + 0x60, 0x22, 0x4c, 0xe5, 0x9a, 0x68, 0x7e, 0x9a, 0x55, 0x80, 0xd4, 0x83, 0x8b, 0xae, 0x79, 0x9d, + 0x34, 0x85, 0xbb, 0x51, 0x74, 0x91, 0x88, 0x11, 0xbe, 0x18, 0x1e, 0xd3, 0x14, 0xfd, 0x93, 0x0b, + 0x3b, 0x6a, 0xe9, 0x4c, 0x2e, 0x44, 0x5e, 0x54, 0x66, 0x70, 0xad, 0xc6, 0xf9, 0x5f, 0xae, 0xd5, + 0xf8, 0x02, 0x3c, 0x85, 0xad, 0x7e, 0x2c, 0x78, 0x56, 0xf9, 0xa0, 0x0c, 0x2d, 0xa1, 0xf2, 0xde, + 0x20, 0xa2, 0x9f, 0x67, 0xb5, 0x84, 0xda, 0x10, 0x39, 0x84, 0x86, 0x0e, 0xcd, 0x0c, 0xc4, 0xa7, + 0xf8, 0x4a, 0xad, 0xf0, 0xc6, 0xec, 0xb7, 0xb9, 0xfe, 0x21, 0x69, 0xc8, 0xdd, 0xb7, 0xd0, 0x5e, + 0x60, 0xad, 0xf8, 0x21, 0xd9, 0xb3, 0x7f, 0x48, 0xb6, 0x0e, 0x88, 0xb5, 0x2e, 0x6b, 0xed, 0xf6, + 0x8f, 0xcb, 0x3e, 0x7c, 0x7b, 0x95, 0x03, 0x39, 0x79, 0x0e, 0x9e, 0x74, 0x54, 0x2d, 0xc3, 0xc1, + 0x6d, 0x8e, 0x32, 0x29, 0x44, 0xff, 0xe2, 0xe8, 0xa4, 0x0a, 0xcd, 0x37, 0x7f, 0x08, 0x7c, 0x66, + 0x2b, 0x79, 0x52, 0x2a, 0x59, 0x12, 0xdb, 0x2f, 0x03, 0x95, 0xd2, 0xbb, 0xdf, 0x40, 0x63, 0x55, + 0x78, 0xbe, 0x0a, 0xef, 0x47, 0x8b, 0xe1, 0x3d, 0xba, 0xcd, 0xb3, 0xdc, 0x8a, 0xf2, 0xb0, 0xf3, + 0xf7, 0x8f, 0x7b, 0xce, 0x3f, 0x3f, 0xee, 0x39, 0xff, 0xfa, 0xb8, 0xe7, 0xfc, 0xf9, 0xdf, 0x7b, + 0xdf, 0x3a, 0xaf, 0xe1, 0xff, 0x5e, 0x9f, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x76, 0x11, 0x06, + 0x2f, 0x1a, 0x13, 0x00, 0x00, } func (m *IndexMeta) Marshal() (dAtA []byte, err error) { @@ -3507,6 +3622,98 @@ func (m *CreateFieldMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *UpdateFieldMessage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UpdateFieldMessage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpdateFieldMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Update != nil { + { + size, err := m.Update.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPrivate(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.CreateFieldMessage != nil { + { + size, err := m.CreateFieldMessage.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPrivate(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *FieldUpdate) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FieldUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FieldUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarintPrivate(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0x12 + } + if len(m.Option) > 0 { + i -= len(m.Option) + copy(dAtA[i:], m.Option) + i = encodeVarintPrivate(dAtA, i, uint64(len(m.Option))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *DeleteFieldMessage) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4114,20 +4321,20 @@ func (m *FieldStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x18 } if len(m.AvailableShards) > 0 { - dAtA19 := make([]byte, len(m.AvailableShards)*10) - var j18 int + dAtA21 := make([]byte, len(m.AvailableShards)*10) + var j20 int for _, num := range m.AvailableShards { for num >= 1<<7 { - dAtA19[j18] = uint8(uint64(num)&0x7f | 0x80) + dAtA21[j20] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j18++ + j20++ } - dAtA19[j18] = uint8(num) - j18++ + dAtA21[j20] = uint8(num) + j20++ } - i -= j18 - copy(dAtA[i:], dAtA19[:j18]) - i = encodeVarintPrivate(dAtA, i, uint64(j18)) + i -= j20 + copy(dAtA[i:], dAtA21[:j20]) + i = encodeVarintPrivate(dAtA, i, uint64(j20)) i-- dAtA[i] = 0x12 } @@ -4969,28 +5176,10 @@ func (m *FieldOperation) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.Signed) > 0 { - dAtA31 := make([]byte, len(m.Signed)*10) - var j30 int + dAtA33 := make([]byte, len(m.Signed)*10) + var j32 int for _, num1 := range m.Signed { num := uint64(num1) - for num >= 1<<7 { - dAtA31[j30] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j30++ - } - dAtA31[j30] = uint8(num) - j30++ - } - i -= j30 - copy(dAtA[i:], dAtA31[:j30]) - i = encodeVarintPrivate(dAtA, i, uint64(j30)) - i-- - dAtA[i] = 0x1a - } - if len(m.Values) > 0 { - dAtA33 := make([]byte, len(m.Values)*10) - var j32 int - for _, num := range m.Values { for num >= 1<<7 { dAtA33[j32] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -5003,12 +5192,12 @@ func (m *FieldOperation) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA33[:j32]) i = encodeVarintPrivate(dAtA, i, uint64(j32)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } - if len(m.RecordIDs) > 0 { - dAtA35 := make([]byte, len(m.RecordIDs)*10) + if len(m.Values) > 0 { + dAtA35 := make([]byte, len(m.Values)*10) var j34 int - for _, num := range m.RecordIDs { + for _, num := range m.Values { for num >= 1<<7 { dAtA35[j34] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -5021,6 +5210,24 @@ func (m *FieldOperation) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA35[:j34]) i = encodeVarintPrivate(dAtA, i, uint64(j34)) i-- + dAtA[i] = 0x12 + } + if len(m.RecordIDs) > 0 { + dAtA37 := make([]byte, len(m.RecordIDs)*10) + var j36 int + for _, num := range m.RecordIDs { + for num >= 1<<7 { + dAtA37[j36] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j36++ + } + dAtA37[j36] = uint8(num) + j36++ + } + i -= j36 + copy(dAtA[i:], dAtA37[:j36]) + i = encodeVarintPrivate(dAtA, i, uint64(j36)) + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil @@ -5086,20 +5293,20 @@ func (m *ShardIngestOperation) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.ClearRecordIDs) > 0 { - dAtA38 := make([]byte, len(m.ClearRecordIDs)*10) - var j37 int + dAtA40 := make([]byte, len(m.ClearRecordIDs)*10) + var j39 int for _, num := range m.ClearRecordIDs { for num >= 1<<7 { - dAtA38[j37] = uint8(uint64(num)&0x7f | 0x80) + dAtA40[j39] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j37++ + j39++ } - dAtA38[j37] = uint8(num) - j37++ + dAtA40[j39] = uint8(num) + j39++ } - i -= j37 - copy(dAtA[i:], dAtA38[:j37]) - i = encodeVarintPrivate(dAtA, i, uint64(j37)) + i -= j39 + copy(dAtA[i:], dAtA40[:j39]) + i = encodeVarintPrivate(dAtA, i, uint64(j39)) i-- dAtA[i] = 0x12 } @@ -5502,6 +5709,46 @@ func (m *CreateFieldMessage) Size() (n int) { return n } +func (m *UpdateFieldMessage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CreateFieldMessage != nil { + l = m.CreateFieldMessage.Size() + n += 1 + l + sovPrivate(uint64(l)) + } + if m.Update != nil { + l = m.Update.Size() + n += 1 + l + sovPrivate(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *FieldUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Option) + if l > 0 { + n += 1 + l + sovPrivate(uint64(l)) + } + l = len(m.Value) + if l > 0 { + n += 1 + l + sovPrivate(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *DeleteFieldMessage) Size() (n int) { if m == nil { return 0 @@ -6356,10 +6603,7 @@ func (m *IndexMeta) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -6828,10 +7072,7 @@ func (m *FieldOptions) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -6914,10 +7155,7 @@ func (m *ImportResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7102,10 +7340,7 @@ func (m *BlockDataRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7308,10 +7543,7 @@ func (m *BlockDataResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7438,10 +7670,7 @@ func (m *Cache) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7588,7 +7817,7 @@ func (m *MaxShards) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > postIndex { @@ -7605,10 +7834,7 @@ func (m *MaxShards) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7742,10 +7968,7 @@ func (m *CreateShardMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7828,10 +8051,7 @@ func (m *DeleteIndexMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -7969,10 +8189,7 @@ func (m *CreateIndexMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8142,10 +8359,245 @@ func (m *CreateFieldMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } - if (iNdEx + skippy) < 0 { + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateFieldMessage) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateFieldMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateFieldMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreateFieldMessage", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPrivate + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPrivate + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CreateFieldMessage == nil { + m.CreateFieldMessage = &CreateFieldMessage{} + } + if err := m.CreateFieldMessage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPrivate + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPrivate + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Update == nil { + m.Update = &FieldUpdate{} + } + if err := m.Update.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPrivate(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPrivate + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *FieldUpdate) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: FieldUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FieldUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Option", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPrivate + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPrivate + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Option = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPrivate + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthPrivate + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPrivate + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPrivate(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8260,10 +8712,7 @@ func (m *DeleteFieldMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8397,10 +8846,7 @@ func (m *DeleteAvailableShardMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8570,10 +9016,7 @@ func (m *Field) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8658,10 +9101,7 @@ func (m *Schema) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8833,10 +9273,7 @@ func (m *Index) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -8970,10 +9407,7 @@ func (m *URI) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9180,10 +9614,7 @@ func (m *Node) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9298,10 +9729,7 @@ func (m *NodeStateMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9407,10 +9835,7 @@ func (m *NodeEventMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9567,10 +9992,7 @@ func (m *NodeStatus) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9706,10 +10128,7 @@ func (m *IndexStatus) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -9887,10 +10306,7 @@ func (m *FieldStatus) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -10075,10 +10491,7 @@ func (m *ClusterStatus) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -10231,10 +10644,7 @@ func (m *BSIGroup) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -10381,10 +10791,7 @@ func (m *CreateViewMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -10531,10 +10938,7 @@ func (m *DeleteViewMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -10816,10 +11220,7 @@ func (m *ResizeInstruction) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11021,10 +11422,7 @@ func (m *ResizeSource) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11162,10 +11560,7 @@ func (m *TranslationResizeSource) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11303,10 +11698,7 @@ func (m *ResizeInstructionComplete) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11421,10 +11813,7 @@ func (m *Topology) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11475,10 +11864,7 @@ func (m *RecalculateCaches) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11529,10 +11915,7 @@ func (m *LoadSchemaMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11651,10 +12034,7 @@ func (m *TransactionMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11851,10 +12231,7 @@ func (m *Transaction) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11905,10 +12282,7 @@ func (m *TransactionStats) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -11959,10 +12333,7 @@ func (m *ResizeAbortMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -12077,10 +12448,7 @@ func (m *ResizeNodeMessage) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -12359,10 +12727,7 @@ func (m *FieldOperation) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -12665,7 +13030,7 @@ func (m *ShardIngestOperation) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > postIndex { @@ -12682,10 +13047,7 @@ func (m *ShardIngestOperation) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -12770,10 +13132,7 @@ func (m *ShardIngestOperations) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { @@ -12922,7 +13281,7 @@ func (m *ShardedIngestRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > postIndex { @@ -12939,10 +13298,7 @@ func (m *ShardedIngestRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPrivate - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPrivate } if (iNdEx + skippy) > l { diff --git a/pb/private.proto b/pb/private.proto index 99e2a76e3..e830956ab 100644 --- a/pb/private.proto +++ b/pb/private.proto @@ -76,6 +76,16 @@ message CreateFieldMessage { int64 CreatedAt = 4; } +message UpdateFieldMessage { + CreateFieldMessage CreateFieldMessage = 1; + FieldUpdate Update = 2; +} + +message FieldUpdate { + string Option = 1; + string Value = 2; +} + message DeleteFieldMessage { string Index = 1; string Field = 2; diff --git a/pb/public.pb.go b/pb/public.pb.go index 0fff5709b..a31efe263 100644 --- a/pb/public.pb.go +++ b/pb/public.pb.go @@ -6149,10 +6149,7 @@ func (m *Row) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6237,10 +6234,7 @@ func (m *RowMatrix) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6363,10 +6357,7 @@ func (m *SignedRow) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6525,10 +6516,7 @@ func (m *RowIdentifiers) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6655,10 +6643,7 @@ func (m *IDList) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6762,10 +6747,7 @@ func (m *ExtractedIDColumn) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6882,10 +6864,7 @@ func (m *ExtractedIDMatrix) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -6968,10 +6947,7 @@ func (m *KeyList) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7185,10 +7161,7 @@ func (m *ExtractedTableValue) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7325,10 +7298,7 @@ func (m *ExtractedTableColumn) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7443,10 +7413,7 @@ func (m *ExtractedTableField) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7565,10 +7532,7 @@ func (m *ExtractedTable) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7689,10 +7653,7 @@ func (m *Pair) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7811,10 +7772,7 @@ func (m *PairField) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -7931,10 +7889,7 @@ func (m *PairsField) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8004,10 +7959,7 @@ func (m *Int64) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8177,10 +8129,7 @@ func (m *FieldRow) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8303,10 +8252,7 @@ func (m *GroupCount) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8474,10 +8420,7 @@ func (m *ValCount) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8566,10 +8509,7 @@ func (m *Decimal) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8684,10 +8624,7 @@ func (m *DistinctTimestamp) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -8939,10 +8876,7 @@ func (m *QueryRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -9059,10 +8993,7 @@ func (m *QueryResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -9711,10 +9642,7 @@ func (m *QueryResult) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -10198,10 +10126,7 @@ func (m *ImportRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -10663,10 +10588,7 @@ func (m *ImportValueRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -10836,10 +10758,7 @@ func (m *AtomicRecord) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -10922,10 +10841,7 @@ func (m *AtomicImportResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11092,10 +11008,7 @@ func (m *TranslateKeysRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11222,10 +11135,7 @@ func (m *TranslateKeysResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11416,10 +11326,7 @@ func (m *TranslateIDsRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11502,10 +11409,7 @@ func (m *TranslateIDsResponse) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11622,10 +11526,7 @@ func (m *ImportRoaringRequestView) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11839,10 +11740,7 @@ func (m *ImportRoaringRequest) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { @@ -11959,10 +11857,7 @@ func (m *GroupCounts) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthPublic - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthPublic } if (iNdEx + skippy) > l { diff --git a/server.go b/server.go index bbce8c55e..354c3584b 100644 --- a/server.go +++ b/server.go @@ -990,6 +990,11 @@ func (s *Server) receiveMessage(m Message) error { return err } + case *UpdateFieldMessage: + idx := s.holder.Index(obj.CreateFieldMessage.Index) + if err := idx.UpdateFieldLocal(&obj.CreateFieldMessage, obj.Update); err != nil { + return err + } case *DeleteFieldMessage: idx := s.holder.Index(obj.Index) if err := idx.DeleteField(obj.Field); err != nil {