You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/10/12 04:04:56 UTC
[skywalking-banyandb] branch main updated: Add measure API (#56)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/main by this push:
new abbc23f Add measure API (#56)
abbc23f is described below
commit abbc23f6e63428829e8b72e8e782c4a519ec93ed
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Tue Oct 12 12:04:24 2021 +0800
Add measure API (#56)
---
api/proto/banyandb/database/v1/schema.pb.go | 675 ++++++++++++++++++++++------
api/proto/banyandb/database/v1/schema.proto | 47 ++
2 files changed, 595 insertions(+), 127 deletions(-)
diff --git a/api/proto/banyandb/database/v1/schema.pb.go b/api/proto/banyandb/database/v1/schema.pb.go
index 0ce648e..a2ac31d 100644
--- a/api/proto/banyandb/database/v1/schema.pb.go
+++ b/api/proto/banyandb/database/v1/schema.pb.go
@@ -99,6 +99,150 @@ func (TagType) EnumDescriptor() ([]byte, []int) {
return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{0}
}
+type FieldType int32
+
+const (
+ FieldType_FIELD_TYPE_UNSPECIFIED FieldType = 0
+ FieldType_FIELD_TYPE_STRING FieldType = 1
+ FieldType_FIELD_TYPE_INT FieldType = 2
+ FieldType_FIELD_TYPE_DATA_BINARY FieldType = 3
+)
+
+// Enum value maps for FieldType.
+var (
+ FieldType_name = map[int32]string{
+ 0: "FIELD_TYPE_UNSPECIFIED",
+ 1: "FIELD_TYPE_STRING",
+ 2: "FIELD_TYPE_INT",
+ 3: "FIELD_TYPE_DATA_BINARY",
+ }
+ FieldType_value = map[string]int32{
+ "FIELD_TYPE_UNSPECIFIED": 0,
+ "FIELD_TYPE_STRING": 1,
+ "FIELD_TYPE_INT": 2,
+ "FIELD_TYPE_DATA_BINARY": 3,
+ }
+)
+
+func (x FieldType) Enum() *FieldType {
+ p := new(FieldType)
+ *p = x
+ return p
+}
+
+func (x FieldType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FieldType) Descriptor() protoreflect.EnumDescriptor {
+ return file_banyandb_database_v1_schema_proto_enumTypes[1].Descriptor()
+}
+
+func (FieldType) Type() protoreflect.EnumType {
+ return &file_banyandb_database_v1_schema_proto_enumTypes[1]
+}
+
+func (x FieldType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FieldType.Descriptor instead.
+func (FieldType) EnumDescriptor() ([]byte, []int) {
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{1}
+}
+
+type EncodingMethod int32
+
+const (
+ EncodingMethod_ENCODING_METHOD_UNSPECIFIED EncodingMethod = 0
+ EncodingMethod_ENCODING_METHOD_GORILLA EncodingMethod = 1
+)
+
+// Enum value maps for EncodingMethod.
+var (
+ EncodingMethod_name = map[int32]string{
+ 0: "ENCODING_METHOD_UNSPECIFIED",
+ 1: "ENCODING_METHOD_GORILLA",
+ }
+ EncodingMethod_value = map[string]int32{
+ "ENCODING_METHOD_UNSPECIFIED": 0,
+ "ENCODING_METHOD_GORILLA": 1,
+ }
+)
+
+func (x EncodingMethod) Enum() *EncodingMethod {
+ p := new(EncodingMethod)
+ *p = x
+ return p
+}
+
+func (x EncodingMethod) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EncodingMethod) Descriptor() protoreflect.EnumDescriptor {
+ return file_banyandb_database_v1_schema_proto_enumTypes[2].Descriptor()
+}
+
+func (EncodingMethod) Type() protoreflect.EnumType {
+ return &file_banyandb_database_v1_schema_proto_enumTypes[2]
+}
+
+func (x EncodingMethod) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EncodingMethod.Descriptor instead.
+func (EncodingMethod) EnumDescriptor() ([]byte, []int) {
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{2}
+}
+
+type CompressionMethod int32
+
+const (
+ CompressionMethod_COMPRESSION_METHOD_UNSPECIFIED CompressionMethod = 0
+ CompressionMethod_COMPRESSION_METHOD_ZSTD CompressionMethod = 1
+)
+
+// Enum value maps for CompressionMethod.
+var (
+ CompressionMethod_name = map[int32]string{
+ 0: "COMPRESSION_METHOD_UNSPECIFIED",
+ 1: "COMPRESSION_METHOD_ZSTD",
+ }
+ CompressionMethod_value = map[string]int32{
+ "COMPRESSION_METHOD_UNSPECIFIED": 0,
+ "COMPRESSION_METHOD_ZSTD": 1,
+ }
+)
+
+func (x CompressionMethod) Enum() *CompressionMethod {
+ p := new(CompressionMethod)
+ *p = x
+ return p
+}
+
+func (x CompressionMethod) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CompressionMethod) Descriptor() protoreflect.EnumDescriptor {
+ return file_banyandb_database_v1_schema_proto_enumTypes[3].Descriptor()
+}
+
+func (CompressionMethod) Type() protoreflect.EnumType {
+ return &file_banyandb_database_v1_schema_proto_enumTypes[3]
+}
+
+func (x CompressionMethod) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CompressionMethod.Descriptor instead.
+func (CompressionMethod) EnumDescriptor() ([]byte, []int) {
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{3}
+}
+
type Duration_DurationUnit int32
const (
@@ -138,11 +282,11 @@ func (x Duration_DurationUnit) String() string {
}
func (Duration_DurationUnit) Descriptor() protoreflect.EnumDescriptor {
- return file_banyandb_database_v1_schema_proto_enumTypes[1].Descriptor()
+ return file_banyandb_database_v1_schema_proto_enumTypes[4].Descriptor()
}
func (Duration_DurationUnit) Type() protoreflect.EnumType {
- return &file_banyandb_database_v1_schema_proto_enumTypes[1]
+ return &file_banyandb_database_v1_schema_proto_enumTypes[4]
}
func (x Duration_DurationUnit) Number() protoreflect.EnumNumber {
@@ -188,11 +332,11 @@ func (x IndexRule_Type) String() string {
}
func (IndexRule_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_banyandb_database_v1_schema_proto_enumTypes[2].Descriptor()
+ return file_banyandb_database_v1_schema_proto_enumTypes[5].Descriptor()
}
func (IndexRule_Type) Type() protoreflect.EnumType {
- return &file_banyandb_database_v1_schema_proto_enumTypes[2]
+ return &file_banyandb_database_v1_schema_proto_enumTypes[5]
}
func (x IndexRule_Type) Number() protoreflect.EnumNumber {
@@ -201,7 +345,7 @@ func (x IndexRule_Type) Number() protoreflect.EnumNumber {
// Deprecated: Use IndexRule_Type.Descriptor instead.
func (IndexRule_Type) EnumDescriptor() ([]byte, []int) {
- return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{5, 0}
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{7, 0}
}
type IndexRule_Location int32
@@ -237,11 +381,11 @@ func (x IndexRule_Location) String() string {
}
func (IndexRule_Location) Descriptor() protoreflect.EnumDescriptor {
- return file_banyandb_database_v1_schema_proto_enumTypes[3].Descriptor()
+ return file_banyandb_database_v1_schema_proto_enumTypes[6].Descriptor()
}
func (IndexRule_Location) Type() protoreflect.EnumType {
- return &file_banyandb_database_v1_schema_proto_enumTypes[3]
+ return &file_banyandb_database_v1_schema_proto_enumTypes[6]
}
func (x IndexRule_Location) Number() protoreflect.EnumNumber {
@@ -250,7 +394,7 @@ func (x IndexRule_Location) Number() protoreflect.EnumNumber {
// Deprecated: Use IndexRule_Location.Descriptor instead.
func (IndexRule_Location) EnumDescriptor() ([]byte, []int) {
- return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{5, 1}
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{7, 1}
}
// Duration represents the elapsed time between two instants
@@ -560,6 +704,185 @@ func (x *Entity) GetTagNames() []string {
return nil
}
+// FieldSpec is the specification of field
+type FieldSpec struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // name is the identity of a field
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // field_type denotes the type of field value
+ FieldType FieldType `protobuf:"varint,2,opt,name=field_type,json=fieldType,proto3,enum=banyandb.database.v1.FieldType" json:"field_type,omitempty"`
+ // encoding_method indicates how to encode data during writing
+ EncodingMethod EncodingMethod `protobuf:"varint,3,opt,name=encoding_method,json=encodingMethod,proto3,enum=banyandb.database.v1.EncodingMethod" json:"encoding_method,omitempty"`
+ // compression_method indicates how to compress data during writing
+ CompressionMethod CompressionMethod `protobuf:"varint,4,opt,name=compression_method,json=compressionMethod,proto3,enum=banyandb.database.v1.CompressionMethod" json:"compression_method,omitempty"`
+}
+
+func (x *FieldSpec) Reset() {
+ *x = FieldSpec{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FieldSpec) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FieldSpec) ProtoMessage() {}
+
+func (x *FieldSpec) ProtoReflect() protoreflect.Message {
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FieldSpec.ProtoReflect.Descriptor instead.
+func (*FieldSpec) Descriptor() ([]byte, []int) {
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *FieldSpec) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *FieldSpec) GetFieldType() FieldType {
+ if x != nil {
+ return x.FieldType
+ }
+ return FieldType_FIELD_TYPE_UNSPECIFIED
+}
+
+func (x *FieldSpec) GetEncodingMethod() EncodingMethod {
+ if x != nil {
+ return x.EncodingMethod
+ }
+ return EncodingMethod_ENCODING_METHOD_UNSPECIFIED
+}
+
+func (x *FieldSpec) GetCompressionMethod() CompressionMethod {
+ if x != nil {
+ return x.CompressionMethod
+ }
+ return CompressionMethod_COMPRESSION_METHOD_UNSPECIFIED
+}
+
+// Measure intends to store data point
+type Measure struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // metadata is the identity of a measure
+ Metadata *v1.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ // tag_families are for filter measures
+ TagFamilies []*TagFamilySpec `protobuf:"bytes,2,rep,name=tag_families,json=tagFamilies,proto3" json:"tag_families,omitempty"`
+ // fields denote measure values
+ Fields []*FieldSpec `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"`
+ // entity indicates which tags will be to generate a series and shard a measure
+ Entity *Entity `protobuf:"bytes,4,opt,name=entity,proto3" json:"entity,omitempty"`
+ // shard_num is the number of shards
+ ShardNum uint32 `protobuf:"varint,5,opt,name=shard_num,json=shardNum,proto3" json:"shard_num,omitempty"`
+ // ttl indicates time to live, how long the data will be cached
+ Ttl *Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
+ // updated_at_nanoseconds indicates when the measure is updated
+ UpdatedAtNanoseconds *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at_nanoseconds,json=updatedAtNanoseconds,proto3" json:"updated_at_nanoseconds,omitempty"`
+}
+
+func (x *Measure) Reset() {
+ *x = Measure{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Measure) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Measure) ProtoMessage() {}
+
+func (x *Measure) ProtoReflect() protoreflect.Message {
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Measure.ProtoReflect.Descriptor instead.
+func (*Measure) Descriptor() ([]byte, []int) {
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *Measure) GetMetadata() *v1.Metadata {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+func (x *Measure) GetTagFamilies() []*TagFamilySpec {
+ if x != nil {
+ return x.TagFamilies
+ }
+ return nil
+}
+
+func (x *Measure) GetFields() []*FieldSpec {
+ if x != nil {
+ return x.Fields
+ }
+ return nil
+}
+
+func (x *Measure) GetEntity() *Entity {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+func (x *Measure) GetShardNum() uint32 {
+ if x != nil {
+ return x.ShardNum
+ }
+ return 0
+}
+
+func (x *Measure) GetTtl() *Duration {
+ if x != nil {
+ return x.Ttl
+ }
+ return nil
+}
+
+func (x *Measure) GetUpdatedAtNanoseconds() *timestamppb.Timestamp {
+ if x != nil {
+ return x.UpdatedAtNanoseconds
+ }
+ return nil
+}
+
// IndexRule defines how to generate indices based on tags and the index type
// IndexRule should bind to a subject through an IndexRuleBinding to generate proper indices.
type IndexRule struct {
@@ -584,7 +907,7 @@ type IndexRule struct {
func (x *IndexRule) Reset() {
*x = IndexRule{}
if protoimpl.UnsafeEnabled {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[5]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -597,7 +920,7 @@ func (x *IndexRule) String() string {
func (*IndexRule) ProtoMessage() {}
func (x *IndexRule) ProtoReflect() protoreflect.Message {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[5]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -610,7 +933,7 @@ func (x *IndexRule) ProtoReflect() protoreflect.Message {
// Deprecated: Use IndexRule.ProtoReflect.Descriptor instead.
func (*IndexRule) Descriptor() ([]byte, []int) {
- return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{5}
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{7}
}
func (x *IndexRule) GetMetadata() *v1.Metadata {
@@ -663,7 +986,7 @@ type Subject struct {
func (x *Subject) Reset() {
*x = Subject{}
if protoimpl.UnsafeEnabled {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[6]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -676,7 +999,7 @@ func (x *Subject) String() string {
func (*Subject) ProtoMessage() {}
func (x *Subject) ProtoReflect() protoreflect.Message {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[6]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -689,7 +1012,7 @@ func (x *Subject) ProtoReflect() protoreflect.Message {
// Deprecated: Use Subject.ProtoReflect.Descriptor instead.
func (*Subject) Descriptor() ([]byte, []int) {
- return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{6}
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{8}
}
func (x *Subject) GetCatalog() v1.Catalog {
@@ -732,7 +1055,7 @@ type IndexRuleBinding struct {
func (x *IndexRuleBinding) Reset() {
*x = IndexRuleBinding{}
if protoimpl.UnsafeEnabled {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[7]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -745,7 +1068,7 @@ func (x *IndexRuleBinding) String() string {
func (*IndexRuleBinding) ProtoMessage() {}
func (x *IndexRuleBinding) ProtoReflect() protoreflect.Message {
- mi := &file_banyandb_database_v1_schema_proto_msgTypes[7]
+ mi := &file_banyandb_database_v1_schema_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -758,7 +1081,7 @@ func (x *IndexRuleBinding) ProtoReflect() protoreflect.Message {
// Deprecated: Use IndexRuleBinding.ProtoReflect.Descriptor instead.
func (*IndexRuleBinding) Descriptor() ([]byte, []int) {
- return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{7}
+ return file_banyandb_database_v1_schema_proto_rawDescGZIP(), []int{9}
}
func (x *IndexRuleBinding) GetMetadata() *v1.Metadata {
@@ -863,76 +1186,136 @@ var file_banyandb_database_v1_schema_proto_rawDesc = []byte{
0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x25, 0x0a, 0x06,
0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x67, 0x4e, 0x61,
- 0x6d, 0x65, 0x73, 0x22, 0xa4, 0x03, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x75, 0x6c,
- 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x63,
- 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74,
- 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12,
- 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e,
- 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
- 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x54,
- 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x61,
- 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e,
- 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
- 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3e, 0x0a, 0x04, 0x54, 0x79,
- 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
- 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x4e, 0x0a, 0x08, 0x4c, 0x6f,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
- 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52,
- 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x02, 0x22, 0x54, 0x0a, 0x07, 0x53, 0x75,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x61,
- 0x6c, 0x6f, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x22, 0xc6, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x69,
- 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e,
- 0x64, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
- 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
- 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64,
- 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x35,
- 0x0a, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x62, 0x65,
- 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f,
- 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x6d, 0x65, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x70, 0x65,
+ 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x62, 0x61, 0x6e, 0x79,
+ 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
+ 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
+ 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
+ 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x12, 0x56, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x27, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61,
+ 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72,
+ 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x9b, 0x03, 0x0a,
+ 0x07, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x6e,
+ 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61,
+ 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
+ 0x54, 0x61, 0x67, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x74,
+ 0x61, 0x67, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x61, 0x6e,
+ 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
+ 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x06, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64,
+ 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64,
+ 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x50, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x39,
- 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x2a, 0x97, 0x01, 0x0a, 0x07, 0x54, 0x61,
- 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50,
+ 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4e,
+ 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xa4, 0x03, 0x0a, 0x09, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x61, 0x6e,
+ 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e,
+ 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61,
+ 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52,
+ 0x75, 0x6c, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
+ 0x74, 0x22, 0x3e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50,
0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
- 0x13, 0x0a, 0x0f, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49,
- 0x4e, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10,
- 0x03, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e,
- 0x54, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x47,
- 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52,
- 0x59, 0x10, 0x05, 0x42, 0x72, 0x0a, 0x2a, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68,
- 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x61, 0x6e,
- 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
- 0x31, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70,
- 0x61, 0x63, 0x68, 0x65, 0x2f, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2d,
- 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2f, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x64, 0x61, 0x74, 0x61,
- 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0x01, 0x12, 0x11,
+ 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10,
+ 0x02, 0x22, 0x4e, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
+ 0x14, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
+ 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f,
+ 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10,
+ 0x02, 0x22, 0x54, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x07,
+ 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
+ 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+ 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61,
+ 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x08,
+ 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x07,
+ 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
+ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x61,
+ 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x52, 0x07, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12, 0x37, 0x0a, 0x09,
+ 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x65, 0x78, 0x70,
+ 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
+ 0x2a, 0x97, 0x01, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14,
+ 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54,
+ 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a,
+ 0x15, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47,
+ 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x47, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x04,
+ 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54,
+ 0x41, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x05, 0x2a, 0x6e, 0x0a, 0x09, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x49, 0x45, 0x4c, 0x44,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
+ 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x49,
+ 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1a,
+ 0x0a, 0x16, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54,
+ 0x41, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x03, 0x2a, 0x4e, 0x0a, 0x0e, 0x45, 0x6e,
+ 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x1b,
+ 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f,
+ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a,
+ 0x17, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44,
+ 0x5f, 0x47, 0x4f, 0x52, 0x49, 0x4c, 0x4c, 0x41, 0x10, 0x01, 0x2a, 0x54, 0x0a, 0x11, 0x43, 0x6f,
+ 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
+ 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d,
+ 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
+ 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x5a, 0x53, 0x54, 0x44, 0x10, 0x01,
+ 0x42, 0x72, 0x0a, 0x2a, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73,
+ 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e,
+ 0x64, 0x62, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x5a, 0x44,
+ 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68,
+ 0x65, 0x2f, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2d, 0x62, 0x61, 0x6e,
+ 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
+ 0x62, 0x61, 0x6e, 0x79, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
+ 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -947,49 +1330,63 @@ func file_banyandb_database_v1_schema_proto_rawDescGZIP() []byte {
return file_banyandb_database_v1_schema_proto_rawDescData
}
-var file_banyandb_database_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
-var file_banyandb_database_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_banyandb_database_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
+var file_banyandb_database_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_banyandb_database_v1_schema_proto_goTypes = []interface{}{
(TagType)(0), // 0: banyandb.database.v1.TagType
- (Duration_DurationUnit)(0), // 1: banyandb.database.v1.Duration.DurationUnit
- (IndexRule_Type)(0), // 2: banyandb.database.v1.IndexRule.Type
- (IndexRule_Location)(0), // 3: banyandb.database.v1.IndexRule.Location
- (*Duration)(nil), // 4: banyandb.database.v1.Duration
- (*TagFamilySpec)(nil), // 5: banyandb.database.v1.TagFamilySpec
- (*TagSpec)(nil), // 6: banyandb.database.v1.TagSpec
- (*Stream)(nil), // 7: banyandb.database.v1.Stream
- (*Entity)(nil), // 8: banyandb.database.v1.Entity
- (*IndexRule)(nil), // 9: banyandb.database.v1.IndexRule
- (*Subject)(nil), // 10: banyandb.database.v1.Subject
- (*IndexRuleBinding)(nil), // 11: banyandb.database.v1.IndexRuleBinding
- (*v1.Metadata)(nil), // 12: banyandb.common.v1.Metadata
- (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
- (v1.Catalog)(0), // 14: banyandb.common.v1.Catalog
+ (FieldType)(0), // 1: banyandb.database.v1.FieldType
+ (EncodingMethod)(0), // 2: banyandb.database.v1.EncodingMethod
+ (CompressionMethod)(0), // 3: banyandb.database.v1.CompressionMethod
+ (Duration_DurationUnit)(0), // 4: banyandb.database.v1.Duration.DurationUnit
+ (IndexRule_Type)(0), // 5: banyandb.database.v1.IndexRule.Type
+ (IndexRule_Location)(0), // 6: banyandb.database.v1.IndexRule.Location
+ (*Duration)(nil), // 7: banyandb.database.v1.Duration
+ (*TagFamilySpec)(nil), // 8: banyandb.database.v1.TagFamilySpec
+ (*TagSpec)(nil), // 9: banyandb.database.v1.TagSpec
+ (*Stream)(nil), // 10: banyandb.database.v1.Stream
+ (*Entity)(nil), // 11: banyandb.database.v1.Entity
+ (*FieldSpec)(nil), // 12: banyandb.database.v1.FieldSpec
+ (*Measure)(nil), // 13: banyandb.database.v1.Measure
+ (*IndexRule)(nil), // 14: banyandb.database.v1.IndexRule
+ (*Subject)(nil), // 15: banyandb.database.v1.Subject
+ (*IndexRuleBinding)(nil), // 16: banyandb.database.v1.IndexRuleBinding
+ (*v1.Metadata)(nil), // 17: banyandb.common.v1.Metadata
+ (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp
+ (v1.Catalog)(0), // 19: banyandb.common.v1.Catalog
}
var file_banyandb_database_v1_schema_proto_depIdxs = []int32{
- 1, // 0: banyandb.database.v1.Duration.unit:type_name -> banyandb.database.v1.Duration.DurationUnit
- 6, // 1: banyandb.database.v1.TagFamilySpec.tags:type_name -> banyandb.database.v1.TagSpec
+ 4, // 0: banyandb.database.v1.Duration.unit:type_name -> banyandb.database.v1.Duration.DurationUnit
+ 9, // 1: banyandb.database.v1.TagFamilySpec.tags:type_name -> banyandb.database.v1.TagSpec
0, // 2: banyandb.database.v1.TagSpec.type:type_name -> banyandb.database.v1.TagType
- 12, // 3: banyandb.database.v1.Stream.metadata:type_name -> banyandb.common.v1.Metadata
- 5, // 4: banyandb.database.v1.Stream.tag_families:type_name -> banyandb.database.v1.TagFamilySpec
- 8, // 5: banyandb.database.v1.Stream.entity:type_name -> banyandb.database.v1.Entity
- 4, // 6: banyandb.database.v1.Stream.duration:type_name -> banyandb.database.v1.Duration
- 13, // 7: banyandb.database.v1.Stream.updated_at:type_name -> google.protobuf.Timestamp
- 12, // 8: banyandb.database.v1.IndexRule.metadata:type_name -> banyandb.common.v1.Metadata
- 2, // 9: banyandb.database.v1.IndexRule.type:type_name -> banyandb.database.v1.IndexRule.Type
- 3, // 10: banyandb.database.v1.IndexRule.location:type_name -> banyandb.database.v1.IndexRule.Location
- 13, // 11: banyandb.database.v1.IndexRule.updated_at:type_name -> google.protobuf.Timestamp
- 14, // 12: banyandb.database.v1.Subject.catalog:type_name -> banyandb.common.v1.Catalog
- 12, // 13: banyandb.database.v1.IndexRuleBinding.metadata:type_name -> banyandb.common.v1.Metadata
- 10, // 14: banyandb.database.v1.IndexRuleBinding.subject:type_name -> banyandb.database.v1.Subject
- 13, // 15: banyandb.database.v1.IndexRuleBinding.begin_at:type_name -> google.protobuf.Timestamp
- 13, // 16: banyandb.database.v1.IndexRuleBinding.expire_at:type_name -> google.protobuf.Timestamp
- 13, // 17: banyandb.database.v1.IndexRuleBinding.updated_at:type_name -> google.protobuf.Timestamp
- 18, // [18:18] is the sub-list for method output_type
- 18, // [18:18] is the sub-list for method input_type
- 18, // [18:18] is the sub-list for extension type_name
- 18, // [18:18] is the sub-list for extension extendee
- 0, // [0:18] is the sub-list for field type_name
+ 17, // 3: banyandb.database.v1.Stream.metadata:type_name -> banyandb.common.v1.Metadata
+ 8, // 4: banyandb.database.v1.Stream.tag_families:type_name -> banyandb.database.v1.TagFamilySpec
+ 11, // 5: banyandb.database.v1.Stream.entity:type_name -> banyandb.database.v1.Entity
+ 7, // 6: banyandb.database.v1.Stream.duration:type_name -> banyandb.database.v1.Duration
+ 18, // 7: banyandb.database.v1.Stream.updated_at:type_name -> google.protobuf.Timestamp
+ 1, // 8: banyandb.database.v1.FieldSpec.field_type:type_name -> banyandb.database.v1.FieldType
+ 2, // 9: banyandb.database.v1.FieldSpec.encoding_method:type_name -> banyandb.database.v1.EncodingMethod
+ 3, // 10: banyandb.database.v1.FieldSpec.compression_method:type_name -> banyandb.database.v1.CompressionMethod
+ 17, // 11: banyandb.database.v1.Measure.metadata:type_name -> banyandb.common.v1.Metadata
+ 8, // 12: banyandb.database.v1.Measure.tag_families:type_name -> banyandb.database.v1.TagFamilySpec
+ 12, // 13: banyandb.database.v1.Measure.fields:type_name -> banyandb.database.v1.FieldSpec
+ 11, // 14: banyandb.database.v1.Measure.entity:type_name -> banyandb.database.v1.Entity
+ 7, // 15: banyandb.database.v1.Measure.ttl:type_name -> banyandb.database.v1.Duration
+ 18, // 16: banyandb.database.v1.Measure.updated_at_nanoseconds:type_name -> google.protobuf.Timestamp
+ 17, // 17: banyandb.database.v1.IndexRule.metadata:type_name -> banyandb.common.v1.Metadata
+ 5, // 18: banyandb.database.v1.IndexRule.type:type_name -> banyandb.database.v1.IndexRule.Type
+ 6, // 19: banyandb.database.v1.IndexRule.location:type_name -> banyandb.database.v1.IndexRule.Location
+ 18, // 20: banyandb.database.v1.IndexRule.updated_at:type_name -> google.protobuf.Timestamp
+ 19, // 21: banyandb.database.v1.Subject.catalog:type_name -> banyandb.common.v1.Catalog
+ 17, // 22: banyandb.database.v1.IndexRuleBinding.metadata:type_name -> banyandb.common.v1.Metadata
+ 15, // 23: banyandb.database.v1.IndexRuleBinding.subject:type_name -> banyandb.database.v1.Subject
+ 18, // 24: banyandb.database.v1.IndexRuleBinding.begin_at:type_name -> google.protobuf.Timestamp
+ 18, // 25: banyandb.database.v1.IndexRuleBinding.expire_at:type_name -> google.protobuf.Timestamp
+ 18, // 26: banyandb.database.v1.IndexRuleBinding.updated_at:type_name -> google.protobuf.Timestamp
+ 27, // [27:27] is the sub-list for method output_type
+ 27, // [27:27] is the sub-list for method input_type
+ 27, // [27:27] is the sub-list for extension type_name
+ 27, // [27:27] is the sub-list for extension extendee
+ 0, // [0:27] is the sub-list for field type_name
}
func init() { file_banyandb_database_v1_schema_proto_init() }
@@ -1059,7 +1456,7 @@ func file_banyandb_database_v1_schema_proto_init() {
}
}
file_banyandb_database_v1_schema_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*IndexRule); i {
+ switch v := v.(*FieldSpec); i {
case 0:
return &v.state
case 1:
@@ -1071,7 +1468,7 @@ func file_banyandb_database_v1_schema_proto_init() {
}
}
file_banyandb_database_v1_schema_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Subject); i {
+ switch v := v.(*Measure); i {
case 0:
return &v.state
case 1:
@@ -1083,6 +1480,30 @@ func file_banyandb_database_v1_schema_proto_init() {
}
}
file_banyandb_database_v1_schema_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IndexRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_banyandb_database_v1_schema_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Subject); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_banyandb_database_v1_schema_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IndexRuleBinding); i {
case 0:
return &v.state
@@ -1100,8 +1521,8 @@ func file_banyandb_database_v1_schema_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_banyandb_database_v1_schema_proto_rawDesc,
- NumEnums: 4,
- NumMessages: 8,
+ NumEnums: 7,
+ NumMessages: 10,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/api/proto/banyandb/database/v1/schema.proto b/api/proto/banyandb/database/v1/schema.proto
index e80f3d5..508966f 100644
--- a/api/proto/banyandb/database/v1/schema.proto
+++ b/api/proto/banyandb/database/v1/schema.proto
@@ -77,6 +77,53 @@ message Entity {
repeated string tag_names = 1;
}
+enum FieldType {
+ FIELD_TYPE_UNSPECIFIED = 0;
+ FIELD_TYPE_STRING = 1;
+ FIELD_TYPE_INT = 2;
+ FIELD_TYPE_DATA_BINARY = 3;
+}
+
+enum EncodingMethod {
+ ENCODING_METHOD_UNSPECIFIED = 0;
+ ENCODING_METHOD_GORILLA = 1;
+}
+
+enum CompressionMethod {
+ COMPRESSION_METHOD_UNSPECIFIED = 0;
+ COMPRESSION_METHOD_ZSTD = 1;
+}
+
+// FieldSpec is the specification of field
+message FieldSpec {
+ // name is the identity of a field
+ string name = 1;
+ // field_type denotes the type of field value
+ FieldType field_type = 2;
+ // encoding_method indicates how to encode data during writing
+ EncodingMethod encoding_method = 3;
+ // compression_method indicates how to compress data during writing
+ CompressionMethod compression_method = 4;
+}
+
+// Measure intends to store data point
+message Measure {
+ // metadata is the identity of a measure
+ common.v1.Metadata metadata = 1;
+ // tag_families are for filter measures
+ repeated TagFamilySpec tag_families = 2;
+ // fields denote measure values
+ repeated FieldSpec fields = 3;
+ // entity indicates which tags will be to generate a series and shard a measure
+ Entity entity = 4;
+ // shard_num is the number of shards
+ uint32 shard_num = 5;
+ // ttl indicates time to live, how long the data will be cached
+ Duration ttl = 6;
+ // updated_at_nanoseconds indicates when the measure is updated
+ google.protobuf.Timestamp updated_at_nanoseconds = 7;
+}
+
// IndexRule defines how to generate indices based on tags and the index type
// IndexRule should bind to a subject through an IndexRuleBinding to generate proper indices.
message IndexRule {