You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2021/10/10 13:29:04 UTC
[skywalking-banyandb] branch api-measure created (now 384bdcb)
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a change to branch api-measure
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git.
at 384bdcb Add measure API
This branch includes the following new commits:
new 384bdcb Add measure API
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[skywalking-banyandb] 01/01: Add measure API
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch api-measure
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit 384bdcb69849f67e779bdc66ecbc9c32ae887de0
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Sun Oct 10 21:24:03 2021 +0800
Add measure API
Signed-off-by: Gao Hongtao <ha...@gmail.com>
---
api/proto/banyandb/database/v1/schema.pb.go | 669 ++++++++++++++++++++++------
api/proto/banyandb/database/v1/schema.proto | 47 ++
2 files changed, 592 insertions(+), 124 deletions(-)
diff --git a/api/proto/banyandb/database/v1/schema.pb.go b/api/proto/banyandb/database/v1/schema.pb.go
index 0ce648e..032479a 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 DataType int32
+
+const (
+ DataType_DATA_TYPE_UNSPECIFIED DataType = 0
+ DataType_DATA_TYPE_STRING DataType = 1
+ DataType_DATA_TYPE_INT DataType = 2
+ DataType_DATA_TYPE_DATA_BINARY DataType = 3
+)
+
+// Enum value maps for DataType.
+var (
+ DataType_name = map[int32]string{
+ 0: "DATA_TYPE_UNSPECIFIED",
+ 1: "DATA_TYPE_STRING",
+ 2: "DATA_TYPE_INT",
+ 3: "DATA_TYPE_DATA_BINARY",
+ }
+ DataType_value = map[string]int32{
+ "DATA_TYPE_UNSPECIFIED": 0,
+ "DATA_TYPE_STRING": 1,
+ "DATA_TYPE_INT": 2,
+ "DATA_TYPE_DATA_BINARY": 3,
+ }
+)
+
+func (x DataType) Enum() *DataType {
+ p := new(DataType)
+ *p = x
+ return p
+}
+
+func (x DataType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DataType) Descriptor() protoreflect.EnumDescriptor {
+ return file_banyandb_database_v1_schema_proto_enumTypes[1].Descriptor()
+}
+
+func (DataType) Type() protoreflect.EnumType {
+ return &file_banyandb_database_v1_schema_proto_enumTypes[1]
+}
+
+func (x DataType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DataType.Descriptor instead.
+func (DataType) 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"`
+ // data_type denotes the type of field value
+ DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=banyandb.database.v1.DataType" json:"data_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) GetDataType() DataType {
+ if x != nil {
+ return x.DataType
+ }
+ return DataType_DATA_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,
+ 0x6d, 0x65, 0x73, 0x22, 0x83, 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, 0x3b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 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, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 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, 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,
+ 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, 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,
- 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, 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,
+ 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, 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,
+ 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, 0x69, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14,
+ 0x0a, 0x10, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49,
+ 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 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
+ (DataType)(0), // 1: banyandb.database.v1.DataType
+ (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.data_type:type_name -> banyandb.database.v1.DataType
+ 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..350997a 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 DataType {
+ DATA_TYPE_UNSPECIFIED = 0;
+ DATA_TYPE_STRING = 1;
+ DATA_TYPE_INT = 2;
+ DATA_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;
+ // data_type denotes the type of field value
+ DataType data_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 {