// Copyright 2023 Greptime Team // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.6 // source: greptime/v1/common.proto package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type SemanticType int32 const ( SemanticType_TAG SemanticType = 0 SemanticType_FIELD SemanticType = 1 SemanticType_TIMESTAMP SemanticType = 2 ) // Enum value maps for SemanticType. var ( SemanticType_name = map[int32]string{ 0: "TAG", 1: "FIELD", 2: "TIMESTAMP", } SemanticType_value = map[string]int32{ "TAG": 0, "FIELD": 1, "TIMESTAMP": 2, } ) func (x SemanticType) Enum() *SemanticType { p := new(SemanticType) *p = x return p } func (x SemanticType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SemanticType) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_common_proto_enumTypes[0].Descriptor() } func (SemanticType) Type() protoreflect.EnumType { return &file_greptime_v1_common_proto_enumTypes[0] } func (x SemanticType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SemanticType.Descriptor instead. func (SemanticType) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{0} } type ColumnDataType int32 const ( ColumnDataType_BOOLEAN ColumnDataType = 0 ColumnDataType_INT8 ColumnDataType = 1 ColumnDataType_INT16 ColumnDataType = 2 ColumnDataType_INT32 ColumnDataType = 3 ColumnDataType_INT64 ColumnDataType = 4 ColumnDataType_UINT8 ColumnDataType = 5 ColumnDataType_UINT16 ColumnDataType = 6 ColumnDataType_UINT32 ColumnDataType = 7 ColumnDataType_UINT64 ColumnDataType = 8 ColumnDataType_FLOAT32 ColumnDataType = 9 ColumnDataType_FLOAT64 ColumnDataType = 10 ColumnDataType_BINARY ColumnDataType = 11 ColumnDataType_STRING ColumnDataType = 12 ColumnDataType_DATE ColumnDataType = 13 ColumnDataType_DATETIME ColumnDataType = 14 ColumnDataType_TIMESTAMP_SECOND ColumnDataType = 15 ColumnDataType_TIMESTAMP_MILLISECOND ColumnDataType = 16 ColumnDataType_TIMESTAMP_MICROSECOND ColumnDataType = 17 ColumnDataType_TIMESTAMP_NANOSECOND ColumnDataType = 18 ColumnDataType_TIME_SECOND ColumnDataType = 19 ColumnDataType_TIME_MILLISECOND ColumnDataType = 20 ColumnDataType_TIME_MICROSECOND ColumnDataType = 21 ColumnDataType_TIME_NANOSECOND ColumnDataType = 22 ColumnDataType_INTERVAL_YEAR_MONTH ColumnDataType = 23 ColumnDataType_INTERVAL_DAY_TIME ColumnDataType = 24 ColumnDataType_INTERVAL_MONTH_DAY_NANO ColumnDataType = 25 ColumnDataType_DECIMAL128 ColumnDataType = 30 ColumnDataType_JSON ColumnDataType = 31 ColumnDataType_VECTOR ColumnDataType = 32 ColumnDataType_LIST ColumnDataType = 40 ColumnDataType_STRUCT ColumnDataType = 41 ColumnDataType_DICTIONARY ColumnDataType = 42 ) // Enum value maps for ColumnDataType. var ( ColumnDataType_name = map[int32]string{ 0: "BOOLEAN", 1: "INT8", 2: "INT16", 3: "INT32", 4: "INT64", 5: "UINT8", 6: "UINT16", 7: "UINT32", 8: "UINT64", 9: "FLOAT32", 10: "FLOAT64", 11: "BINARY", 12: "STRING", 13: "DATE", 14: "DATETIME", 15: "TIMESTAMP_SECOND", 16: "TIMESTAMP_MILLISECOND", 17: "TIMESTAMP_MICROSECOND", 18: "TIMESTAMP_NANOSECOND", 19: "TIME_SECOND", 20: "TIME_MILLISECOND", 21: "TIME_MICROSECOND", 22: "TIME_NANOSECOND", 23: "INTERVAL_YEAR_MONTH", 24: "INTERVAL_DAY_TIME", 25: "INTERVAL_MONTH_DAY_NANO", 30: "DECIMAL128", 31: "JSON", 32: "VECTOR", 40: "LIST", 41: "STRUCT", 42: "DICTIONARY", } ColumnDataType_value = map[string]int32{ "BOOLEAN": 0, "INT8": 1, "INT16": 2, "INT32": 3, "INT64": 4, "UINT8": 5, "UINT16": 6, "UINT32": 7, "UINT64": 8, "FLOAT32": 9, "FLOAT64": 10, "BINARY": 11, "STRING": 12, "DATE": 13, "DATETIME": 14, "TIMESTAMP_SECOND": 15, "TIMESTAMP_MILLISECOND": 16, "TIMESTAMP_MICROSECOND": 17, "TIMESTAMP_NANOSECOND": 18, "TIME_SECOND": 19, "TIME_MILLISECOND": 20, "TIME_MICROSECOND": 21, "TIME_NANOSECOND": 22, "INTERVAL_YEAR_MONTH": 23, "INTERVAL_DAY_TIME": 24, "INTERVAL_MONTH_DAY_NANO": 25, "DECIMAL128": 30, "JSON": 31, "VECTOR": 32, "LIST": 40, "STRUCT": 41, "DICTIONARY": 42, } ) func (x ColumnDataType) Enum() *ColumnDataType { p := new(ColumnDataType) *p = x return p } func (x ColumnDataType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ColumnDataType) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_common_proto_enumTypes[1].Descriptor() } func (ColumnDataType) Type() protoreflect.EnumType { return &file_greptime_v1_common_proto_enumTypes[1] } func (x ColumnDataType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ColumnDataType.Descriptor instead. func (ColumnDataType) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{1} } // / Time Unit for timestamp type TimeUnit int32 const ( // The default time unit is MILLISECOND TimeUnit_MILLISECOND TimeUnit = 0 TimeUnit_SECOND TimeUnit = 1 TimeUnit_MICROSECOND TimeUnit = 2 TimeUnit_NANOSECOND TimeUnit = 3 ) // Enum value maps for TimeUnit. var ( TimeUnit_name = map[int32]string{ 0: "MILLISECOND", 1: "SECOND", 2: "MICROSECOND", 3: "NANOSECOND", } TimeUnit_value = map[string]int32{ "MILLISECOND": 0, "SECOND": 1, "MICROSECOND": 2, "NANOSECOND": 3, } ) func (x TimeUnit) Enum() *TimeUnit { p := new(TimeUnit) *p = x return p } func (x TimeUnit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TimeUnit) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_common_proto_enumTypes[2].Descriptor() } func (TimeUnit) Type() protoreflect.EnumType { return &file_greptime_v1_common_proto_enumTypes[2] } func (x TimeUnit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TimeUnit.Descriptor instead. func (TimeUnit) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{2} } // Deprecated type JsonTypeExtension int32 const ( JsonTypeExtension_JSON_BINARY JsonTypeExtension = 0 ) // Enum value maps for JsonTypeExtension. var ( JsonTypeExtension_name = map[int32]string{ 0: "JSON_BINARY", } JsonTypeExtension_value = map[string]int32{ "JSON_BINARY": 0, } ) func (x JsonTypeExtension) Enum() *JsonTypeExtension { p := new(JsonTypeExtension) *p = x return p } func (x JsonTypeExtension) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (JsonTypeExtension) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_common_proto_enumTypes[3].Descriptor() } func (JsonTypeExtension) Type() protoreflect.EnumType { return &file_greptime_v1_common_proto_enumTypes[3] } func (x JsonTypeExtension) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use JsonTypeExtension.Descriptor instead. func (JsonTypeExtension) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{3} } type QueryContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CurrentCatalog string `protobuf:"bytes,1,opt,name=current_catalog,json=currentCatalog,proto3" json:"current_catalog,omitempty"` CurrentSchema string `protobuf:"bytes,2,opt,name=current_schema,json=currentSchema,proto3" json:"current_schema,omitempty"` Timezone string `protobuf:"bytes,4,opt,name=timezone,proto3" json:"timezone,omitempty"` Extensions map[string]string `protobuf:"bytes,5,rep,name=extensions,proto3" json:"extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Channel uint32 `protobuf:"varint,6,opt,name=channel,proto3" json:"channel,omitempty"` SnapshotSeqs *SnapshotSequences `protobuf:"bytes,7,opt,name=snapshot_seqs,json=snapshotSeqs,proto3" json:"snapshot_seqs,omitempty"` // Explain options for the query. Explain *ExplainOptions `protobuf:"bytes,8,opt,name=explain,proto3" json:"explain,omitempty"` } func (x *QueryContext) Reset() { *x = QueryContext{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueryContext) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueryContext) ProtoMessage() {} func (x *QueryContext) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[0] 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 QueryContext.ProtoReflect.Descriptor instead. func (*QueryContext) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{0} } func (x *QueryContext) GetCurrentCatalog() string { if x != nil { return x.CurrentCatalog } return "" } func (x *QueryContext) GetCurrentSchema() string { if x != nil { return x.CurrentSchema } return "" } func (x *QueryContext) GetTimezone() string { if x != nil { return x.Timezone } return "" } func (x *QueryContext) GetExtensions() map[string]string { if x != nil { return x.Extensions } return nil } func (x *QueryContext) GetChannel() uint32 { if x != nil { return x.Channel } return 0 } func (x *QueryContext) GetSnapshotSeqs() *SnapshotSequences { if x != nil { return x.SnapshotSeqs } return nil } func (x *QueryContext) GetExplain() *ExplainOptions { if x != nil { return x.Explain } return nil } type SnapshotSequences struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Mappings of the RegionId to the minimal sequence of SST file to scan. SstMinSequences map[uint64]uint64 `protobuf:"bytes,1,rep,name=sst_min_sequences,json=sstMinSequences,proto3" json:"sst_min_sequences,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // mapping of RegionId to SequenceNumber, for snapshot read, meaning that the // read should only container data that was committed before (and include) the // given sequence number SnapshotSeqs map[uint64]uint64 `protobuf:"bytes,7,rep,name=snapshot_seqs,json=snapshotSeqs,proto3" json:"snapshot_seqs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *SnapshotSequences) Reset() { *x = SnapshotSequences{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SnapshotSequences) String() string { return protoimpl.X.MessageStringOf(x) } func (*SnapshotSequences) ProtoMessage() {} func (x *SnapshotSequences) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[1] 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 SnapshotSequences.ProtoReflect.Descriptor instead. func (*SnapshotSequences) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{1} } func (x *SnapshotSequences) GetSstMinSequences() map[uint64]uint64 { if x != nil { return x.SstMinSequences } return nil } func (x *SnapshotSequences) GetSnapshotSeqs() map[uint64]uint64 { if x != nil { return x.SnapshotSeqs } return nil } type ExplainOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to enable verbose explain output. Verbose bool `protobuf:"varint,1,opt,name=verbose,proto3" json:"verbose,omitempty"` } func (x *ExplainOptions) Reset() { *x = ExplainOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExplainOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExplainOptions) ProtoMessage() {} func (x *ExplainOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[2] 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 ExplainOptions.ProtoReflect.Descriptor instead. func (*ExplainOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{2} } func (x *ExplainOptions) GetVerbose() bool { if x != nil { return x.Verbose } return false } type RequestHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The `catalog` that is selected to be used in this request. Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` // The `schema` that is selected to be used in this request. Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` // The `authorization` header, much like http's authorization header. Authorization *AuthHeader `protobuf:"bytes,3,opt,name=authorization,proto3" json:"authorization,omitempty"` // The `dbname` for the request Dbname string `protobuf:"bytes,4,opt,name=dbname,proto3" json:"dbname,omitempty"` // Encoded trace_id & span_id, follow the w3c Trace Context // https://www.w3.org/TR/trace-context/#header-name TracingContext map[string]string `protobuf:"bytes,5,rep,name=tracing_context,json=tracingContext,proto3" json:"tracing_context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The `timezone` for the request Timezone string `protobuf:"bytes,6,opt,name=timezone,proto3" json:"timezone,omitempty"` } func (x *RequestHeader) Reset() { *x = RequestHeader{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RequestHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*RequestHeader) ProtoMessage() {} func (x *RequestHeader) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[3] 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 RequestHeader.ProtoReflect.Descriptor instead. func (*RequestHeader) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{3} } func (x *RequestHeader) GetCatalog() string { if x != nil { return x.Catalog } return "" } func (x *RequestHeader) GetSchema() string { if x != nil { return x.Schema } return "" } func (x *RequestHeader) GetAuthorization() *AuthHeader { if x != nil { return x.Authorization } return nil } func (x *RequestHeader) GetDbname() string { if x != nil { return x.Dbname } return "" } func (x *RequestHeader) GetTracingContext() map[string]string { if x != nil { return x.TracingContext } return nil } func (x *RequestHeader) GetTimezone() string { if x != nil { return x.Timezone } return "" } type ResponseHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status *Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } func (x *ResponseHeader) Reset() { *x = ResponseHeader{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResponseHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResponseHeader) ProtoMessage() {} func (x *ResponseHeader) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[4] 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 ResponseHeader.ProtoReflect.Descriptor instead. func (*ResponseHeader) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{4} } func (x *ResponseHeader) GetStatus() *Status { if x != nil { return x.Status } return nil } type Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Corresponding to the `StatusCode` definition of GreptimeDB StatusCode uint32 `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"` } func (x *Status) Reset() { *x = Status{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Status) String() string { return protoimpl.X.MessageStringOf(x) } func (*Status) ProtoMessage() {} func (x *Status) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_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 Status.ProtoReflect.Descriptor instead. func (*Status) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{5} } func (x *Status) GetStatusCode() uint32 { if x != nil { return x.StatusCode } return 0 } func (x *Status) GetErrMsg() string { if x != nil { return x.ErrMsg } return "" } type AuthHeader struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to AuthScheme: // // *AuthHeader_Basic // *AuthHeader_Token AuthScheme isAuthHeader_AuthScheme `protobuf_oneof:"auth_scheme"` } func (x *AuthHeader) Reset() { *x = AuthHeader{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuthHeader) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuthHeader) ProtoMessage() {} func (x *AuthHeader) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_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 AuthHeader.ProtoReflect.Descriptor instead. func (*AuthHeader) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{6} } func (m *AuthHeader) GetAuthScheme() isAuthHeader_AuthScheme { if m != nil { return m.AuthScheme } return nil } func (x *AuthHeader) GetBasic() *Basic { if x, ok := x.GetAuthScheme().(*AuthHeader_Basic); ok { return x.Basic } return nil } func (x *AuthHeader) GetToken() *Token { if x, ok := x.GetAuthScheme().(*AuthHeader_Token); ok { return x.Token } return nil } type isAuthHeader_AuthScheme interface { isAuthHeader_AuthScheme() } type AuthHeader_Basic struct { Basic *Basic `protobuf:"bytes,1,opt,name=basic,proto3,oneof"` } type AuthHeader_Token struct { Token *Token `protobuf:"bytes,2,opt,name=token,proto3,oneof"` } func (*AuthHeader_Basic) isAuthHeader_AuthScheme() {} func (*AuthHeader_Token) isAuthHeader_AuthScheme() {} type Basic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } func (x *Basic) Reset() { *x = Basic{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Basic) String() string { return protoimpl.X.MessageStringOf(x) } func (*Basic) ProtoMessage() {} func (x *Basic) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[7] 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 Basic.ProtoReflect.Descriptor instead. func (*Basic) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{7} } func (x *Basic) GetUsername() string { if x != nil { return x.Username } return "" } func (x *Basic) GetPassword() string { if x != nil { return x.Password } return "" } type Token struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *Token) Reset() { *x = Token{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Token) String() string { return protoimpl.X.MessageStringOf(x) } func (*Token) ProtoMessage() {} func (x *Token) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[8] 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 Token.ProtoReflect.Descriptor instead. func (*Token) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{8} } func (x *Token) GetToken() string { if x != nil { return x.Token } return "" } type TableName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CatalogName string `protobuf:"bytes,1,opt,name=catalog_name,json=catalogName,proto3" json:"catalog_name,omitempty"` SchemaName string `protobuf:"bytes,2,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"` TableName string `protobuf:"bytes,3,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` } func (x *TableName) Reset() { *x = TableName{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableName) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableName) ProtoMessage() {} func (x *TableName) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[9] 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 TableName.ProtoReflect.Descriptor instead. func (*TableName) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{9} } func (x *TableName) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *TableName) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *TableName) GetTableName() string { if x != nil { return x.TableName } return "" } type AffectedRows struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *AffectedRows) Reset() { *x = AffectedRows{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AffectedRows) String() string { return protoimpl.X.MessageStringOf(x) } func (*AffectedRows) ProtoMessage() {} func (x *AffectedRows) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[10] 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 AffectedRows.ProtoReflect.Descriptor instead. func (*AffectedRows) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{10} } func (x *AffectedRows) GetValue() uint32 { if x != nil { return x.Value } return 0 } type Metrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Metrics []byte `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *Metrics) Reset() { *x = Metrics{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Metrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*Metrics) ProtoMessage() {} func (x *Metrics) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[11] 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 Metrics.ProtoReflect.Descriptor instead. func (*Metrics) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{11} } func (x *Metrics) GetMetrics() []byte { if x != nil { return x.Metrics } return nil } type ExpireAfter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` } func (x *ExpireAfter) Reset() { *x = ExpireAfter{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExpireAfter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExpireAfter) ProtoMessage() {} func (x *ExpireAfter) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[12] 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 ExpireAfter.ProtoReflect.Descriptor instead. func (*ExpireAfter) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{12} } func (x *ExpireAfter) GetValue() int64 { if x != nil { return x.Value } return 0 } // Eval Interval in seconds type EvalInterval struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` } func (x *EvalInterval) Reset() { *x = EvalInterval{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EvalInterval) String() string { return protoimpl.X.MessageStringOf(x) } func (*EvalInterval) ProtoMessage() {} func (x *EvalInterval) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[13] 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 EvalInterval.ProtoReflect.Descriptor instead. func (*EvalInterval) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{13} } func (x *EvalInterval) GetSeconds() int64 { if x != nil { return x.Seconds } return 0 } type FlightMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AffectedRows *AffectedRows `protobuf:"bytes,1,opt,name=affected_rows,json=affectedRows,proto3" json:"affected_rows,omitempty"` Metrics *Metrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *FlightMetadata) Reset() { *x = FlightMetadata{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FlightMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*FlightMetadata) ProtoMessage() {} func (x *FlightMetadata) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[14] 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 FlightMetadata.ProtoReflect.Descriptor instead. func (*FlightMetadata) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{14} } func (x *FlightMetadata) GetAffectedRows() *AffectedRows { if x != nil { return x.AffectedRows } return nil } func (x *FlightMetadata) GetMetrics() *Metrics { if x != nil { return x.Metrics } return nil } type IntervalMonthDayNano struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Months int32 `protobuf:"varint,1,opt,name=months,proto3" json:"months,omitempty"` Days int32 `protobuf:"varint,2,opt,name=days,proto3" json:"days,omitempty"` Nanoseconds int64 `protobuf:"varint,3,opt,name=nanoseconds,proto3" json:"nanoseconds,omitempty"` } func (x *IntervalMonthDayNano) Reset() { *x = IntervalMonthDayNano{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntervalMonthDayNano) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntervalMonthDayNano) ProtoMessage() {} func (x *IntervalMonthDayNano) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[15] 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 IntervalMonthDayNano.ProtoReflect.Descriptor instead. func (*IntervalMonthDayNano) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{15} } func (x *IntervalMonthDayNano) GetMonths() int32 { if x != nil { return x.Months } return 0 } func (x *IntervalMonthDayNano) GetDays() int32 { if x != nil { return x.Days } return 0 } func (x *IntervalMonthDayNano) GetNanoseconds() int64 { if x != nil { return x.Nanoseconds } return 0 } type TimeRange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` } func (x *TimeRange) Reset() { *x = TimeRange{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TimeRange) String() string { return protoimpl.X.MessageStringOf(x) } func (*TimeRange) ProtoMessage() {} func (x *TimeRange) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[16] 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 TimeRange.ProtoReflect.Descriptor instead. func (*TimeRange) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{16} } func (x *TimeRange) GetStart() int64 { if x != nil { return x.Start } return 0 } func (x *TimeRange) GetEnd() int64 { if x != nil { return x.End } return 0 } // / Truncate partially by time ranges type TimeRanges struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TimeUnit TimeUnit `protobuf:"varint,1,opt,name=time_unit,json=timeUnit,proto3,enum=greptime.v1.TimeUnit" json:"time_unit,omitempty"` TimeRanges []*TimeRange `protobuf:"bytes,2,rep,name=time_ranges,json=timeRanges,proto3" json:"time_ranges,omitempty"` } func (x *TimeRanges) Reset() { *x = TimeRanges{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TimeRanges) String() string { return protoimpl.X.MessageStringOf(x) } func (*TimeRanges) ProtoMessage() {} func (x *TimeRanges) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[17] 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 TimeRanges.ProtoReflect.Descriptor instead. func (*TimeRanges) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{17} } func (x *TimeRanges) GetTimeUnit() TimeUnit { if x != nil { return x.TimeUnit } return TimeUnit_MILLISECOND } func (x *TimeRanges) GetTimeRanges() []*TimeRange { if x != nil { return x.TimeRanges } return nil } // (hi: high 64 bits, lo: low 64 bits) are used to keep the decimal128 value. type Decimal128 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hi int64 `protobuf:"varint,1,opt,name=hi,proto3" json:"hi,omitempty"` Lo int64 `protobuf:"varint,2,opt,name=lo,proto3" json:"lo,omitempty"` } func (x *Decimal128) Reset() { *x = Decimal128{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Decimal128) String() string { return protoimpl.X.MessageStringOf(x) } func (*Decimal128) ProtoMessage() {} func (x *Decimal128) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[18] 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 Decimal128.ProtoReflect.Descriptor instead. func (*Decimal128) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{18} } func (x *Decimal128) GetHi() int64 { if x != nil { return x.Hi } return 0 } func (x *Decimal128) GetLo() int64 { if x != nil { return x.Lo } return 0 } type StructField struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Datatype ColumnDataType `protobuf:"varint,2,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,3,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` } func (x *StructField) Reset() { *x = StructField{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructField) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructField) ProtoMessage() {} func (x *StructField) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[19] 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 StructField.ProtoReflect.Descriptor instead. func (*StructField) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{19} } func (x *StructField) GetName() string { if x != nil { return x.Name } return "" } func (x *StructField) GetDatatype() ColumnDataType { if x != nil { return x.Datatype } return ColumnDataType_BOOLEAN } func (x *StructField) GetDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.DatatypeExtension } return nil } // Type extension for some complex types type ColumnDataTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to TypeExt: // // *ColumnDataTypeExtension_DecimalType // *ColumnDataTypeExtension_JsonType // *ColumnDataTypeExtension_VectorType // *ColumnDataTypeExtension_ListType // *ColumnDataTypeExtension_StructType // *ColumnDataTypeExtension_JsonNativeType // *ColumnDataTypeExtension_DictionaryType TypeExt isColumnDataTypeExtension_TypeExt `protobuf_oneof:"type_ext"` } func (x *ColumnDataTypeExtension) Reset() { *x = ColumnDataTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ColumnDataTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*ColumnDataTypeExtension) ProtoMessage() {} func (x *ColumnDataTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[20] 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 ColumnDataTypeExtension.ProtoReflect.Descriptor instead. func (*ColumnDataTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{20} } func (m *ColumnDataTypeExtension) GetTypeExt() isColumnDataTypeExtension_TypeExt { if m != nil { return m.TypeExt } return nil } func (x *ColumnDataTypeExtension) GetDecimalType() *DecimalTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_DecimalType); ok { return x.DecimalType } return nil } func (x *ColumnDataTypeExtension) GetJsonType() JsonTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_JsonType); ok { return x.JsonType } return JsonTypeExtension_JSON_BINARY } func (x *ColumnDataTypeExtension) GetVectorType() *VectorTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_VectorType); ok { return x.VectorType } return nil } func (x *ColumnDataTypeExtension) GetListType() *ListTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_ListType); ok { return x.ListType } return nil } func (x *ColumnDataTypeExtension) GetStructType() *StructTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_StructType); ok { return x.StructType } return nil } func (x *ColumnDataTypeExtension) GetJsonNativeType() *JsonNativeTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_JsonNativeType); ok { return x.JsonNativeType } return nil } func (x *ColumnDataTypeExtension) GetDictionaryType() *DictionaryTypeExtension { if x, ok := x.GetTypeExt().(*ColumnDataTypeExtension_DictionaryType); ok { return x.DictionaryType } return nil } type isColumnDataTypeExtension_TypeExt interface { isColumnDataTypeExtension_TypeExt() } type ColumnDataTypeExtension_DecimalType struct { DecimalType *DecimalTypeExtension `protobuf:"bytes,1,opt,name=decimal_type,json=decimalType,proto3,oneof"` } type ColumnDataTypeExtension_JsonType struct { // Marks the binary column in proto is actually a JSON column. // Deprecated JsonType JsonTypeExtension `protobuf:"varint,2,opt,name=json_type,json=jsonType,proto3,enum=greptime.v1.JsonTypeExtension,oneof"` } type ColumnDataTypeExtension_VectorType struct { VectorType *VectorTypeExtension `protobuf:"bytes,3,opt,name=vector_type,json=vectorType,proto3,oneof"` } type ColumnDataTypeExtension_ListType struct { ListType *ListTypeExtension `protobuf:"bytes,4,opt,name=list_type,json=listType,proto3,oneof"` } type ColumnDataTypeExtension_StructType struct { StructType *StructTypeExtension `protobuf:"bytes,5,opt,name=struct_type,json=structType,proto3,oneof"` } type ColumnDataTypeExtension_JsonNativeType struct { // Marks the data type is a logical json data JsonNativeType *JsonNativeTypeExtension `protobuf:"bytes,6,opt,name=json_native_type,json=jsonNativeType,proto3,oneof"` } type ColumnDataTypeExtension_DictionaryType struct { DictionaryType *DictionaryTypeExtension `protobuf:"bytes,7,opt,name=dictionary_type,json=dictionaryType,proto3,oneof"` } func (*ColumnDataTypeExtension_DecimalType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_JsonType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_VectorType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_ListType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_StructType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_JsonNativeType) isColumnDataTypeExtension_TypeExt() {} func (*ColumnDataTypeExtension_DictionaryType) isColumnDataTypeExtension_TypeExt() {} type DecimalTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Precision int32 `protobuf:"varint,1,opt,name=precision,proto3" json:"precision,omitempty"` Scale int32 `protobuf:"varint,2,opt,name=scale,proto3" json:"scale,omitempty"` } func (x *DecimalTypeExtension) Reset() { *x = DecimalTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecimalTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecimalTypeExtension) ProtoMessage() {} func (x *DecimalTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[21] 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 DecimalTypeExtension.ProtoReflect.Descriptor instead. func (*DecimalTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{21} } func (x *DecimalTypeExtension) GetPrecision() int32 { if x != nil { return x.Precision } return 0 } func (x *DecimalTypeExtension) GetScale() int32 { if x != nil { return x.Scale } return 0 } type VectorTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Dim uint32 `protobuf:"varint,1,opt,name=dim,proto3" json:"dim,omitempty"` } func (x *VectorTypeExtension) Reset() { *x = VectorTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VectorTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*VectorTypeExtension) ProtoMessage() {} func (x *VectorTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[22] 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 VectorTypeExtension.ProtoReflect.Descriptor instead. func (*VectorTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{22} } func (x *VectorTypeExtension) GetDim() uint32 { if x != nil { return x.Dim } return 0 } type ListTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Datatype ColumnDataType `protobuf:"varint,1,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,2,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` } func (x *ListTypeExtension) Reset() { *x = ListTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListTypeExtension) ProtoMessage() {} func (x *ListTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[23] 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 ListTypeExtension.ProtoReflect.Descriptor instead. func (*ListTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{23} } func (x *ListTypeExtension) GetDatatype() ColumnDataType { if x != nil { return x.Datatype } return ColumnDataType_BOOLEAN } func (x *ListTypeExtension) GetDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.DatatypeExtension } return nil } type StructTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Fields []*StructField `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` } func (x *StructTypeExtension) Reset() { *x = StructTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StructTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*StructTypeExtension) ProtoMessage() {} func (x *StructTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[24] 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 StructTypeExtension.ProtoReflect.Descriptor instead. func (*StructTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{24} } func (x *StructTypeExtension) GetFields() []*StructField { if x != nil { return x.Fields } return nil } type JsonNativeTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Datatype ColumnDataType `protobuf:"varint,1,opt,name=datatype,proto3,enum=greptime.v1.ColumnDataType" json:"datatype,omitempty"` DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,2,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` } func (x *JsonNativeTypeExtension) Reset() { *x = JsonNativeTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JsonNativeTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*JsonNativeTypeExtension) ProtoMessage() {} func (x *JsonNativeTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[25] 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 JsonNativeTypeExtension.ProtoReflect.Descriptor instead. func (*JsonNativeTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{25} } func (x *JsonNativeTypeExtension) GetDatatype() ColumnDataType { if x != nil { return x.Datatype } return ColumnDataType_BOOLEAN } func (x *JsonNativeTypeExtension) GetDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.DatatypeExtension } return nil } type DictionaryTypeExtension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields KeyDatatype ColumnDataType `protobuf:"varint,1,opt,name=key_datatype,json=keyDatatype,proto3,enum=greptime.v1.ColumnDataType" json:"key_datatype,omitempty"` KeyDatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,2,opt,name=key_datatype_extension,json=keyDatatypeExtension,proto3" json:"key_datatype_extension,omitempty"` ValueDatatype ColumnDataType `protobuf:"varint,3,opt,name=value_datatype,json=valueDatatype,proto3,enum=greptime.v1.ColumnDataType" json:"value_datatype,omitempty"` ValueDatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,4,opt,name=value_datatype_extension,json=valueDatatypeExtension,proto3" json:"value_datatype_extension,omitempty"` } func (x *DictionaryTypeExtension) Reset() { *x = DictionaryTypeExtension{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DictionaryTypeExtension) String() string { return protoimpl.X.MessageStringOf(x) } func (*DictionaryTypeExtension) ProtoMessage() {} func (x *DictionaryTypeExtension) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[26] 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 DictionaryTypeExtension.ProtoReflect.Descriptor instead. func (*DictionaryTypeExtension) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{26} } func (x *DictionaryTypeExtension) GetKeyDatatype() ColumnDataType { if x != nil { return x.KeyDatatype } return ColumnDataType_BOOLEAN } func (x *DictionaryTypeExtension) GetKeyDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.KeyDatatypeExtension } return nil } func (x *DictionaryTypeExtension) GetValueDatatype() ColumnDataType { if x != nil { return x.ValueDatatype } return ColumnDataType_BOOLEAN } func (x *DictionaryTypeExtension) GetValueDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.ValueDatatypeExtension } return nil } // Additional options for the column. type ColumnOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Supported keys: // // "fulltext": // A JSON encoded string containing full-text search options for the column. // // The fulltext options JSON structure: // { // "enable": bool, // Indicates whether full-text search is // // enabled for the column. // // "analyzer": string, // The language-specific text analyzer to // // use for indexing and searching text. // // Supported values: ["English" (Default), "Chinese"]. // // "case-sensitive": bool // Indicates whether the text should be treated // // as case-sensitive during full-text search. // } // // Example: // "fulltext": "{\"enable\": true, \"analyzer\": \"English\", \"case-sensitive\": false}" Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ColumnOptions) Reset() { *x = ColumnOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ColumnOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*ColumnOptions) ProtoMessage() {} func (x *ColumnOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[27] 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 ColumnOptions.ProtoReflect.Descriptor instead. func (*ColumnOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{27} } func (x *ColumnOptions) GetOptions() map[string]string { if x != nil { return x.Options } return nil } type ArrowIpc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Schema []byte `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` DataHeader []byte `protobuf:"bytes,2,opt,name=data_header,json=dataHeader,proto3" json:"data_header,omitempty"` Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` } func (x *ArrowIpc) Reset() { *x = ArrowIpc{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_common_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ArrowIpc) String() string { return protoimpl.X.MessageStringOf(x) } func (*ArrowIpc) ProtoMessage() {} func (x *ArrowIpc) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_common_proto_msgTypes[28] 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 ArrowIpc.ProtoReflect.Descriptor instead. func (*ArrowIpc) Descriptor() ([]byte, []int) { return file_greptime_v1_common_proto_rawDescGZIP(), []int{28} } func (x *ArrowIpc) GetSchema() []byte { if x != nil { return x.Schema } return nil } func (x *ArrowIpc) GetDataHeader() []byte { if x != nil { return x.DataHeader } return nil } func (x *ArrowIpc) GetPayload() []byte { if x != nil { return x.Payload } return nil } var File_greptime_v1_common_proto protoreflect.FileDescriptor var file_greptime_v1_common_proto_rawDesc = []byte{ 0x0a, 0x18, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x22, 0x9a, 0x03, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x11, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x73, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x53, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x53, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x71, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2a, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x22, 0xd0, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x73, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x23, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x64, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x44, 0x61, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x79, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x31, 0x32, 0x38, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x68, 0x69, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x6c, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x04, 0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x22, 0x4a, 0x0a, 0x14, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x27, 0x0a, 0x13, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x17, 0x4a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x02, 0x0a, 0x17, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x18, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x08, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2a, 0x31, 0x0a, 0x0c, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x47, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x2a, 0x92, 0x04, 0x0a, 0x0e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x0f, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x11, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x12, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x14, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x15, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x10, 0x19, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x31, 0x32, 0x38, 0x10, 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x1f, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x20, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x28, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x10, 0x29, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x2a, 0x2a, 0x48, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x03, 0x2a, 0x24, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x00, 0x42, 0x4f, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_greptime_v1_common_proto_rawDescOnce sync.Once file_greptime_v1_common_proto_rawDescData = file_greptime_v1_common_proto_rawDesc ) func file_greptime_v1_common_proto_rawDescGZIP() []byte { file_greptime_v1_common_proto_rawDescOnce.Do(func() { file_greptime_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_greptime_v1_common_proto_rawDescData) }) return file_greptime_v1_common_proto_rawDescData } var file_greptime_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_greptime_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_greptime_v1_common_proto_goTypes = []interface{}{ (SemanticType)(0), // 0: greptime.v1.SemanticType (ColumnDataType)(0), // 1: greptime.v1.ColumnDataType (TimeUnit)(0), // 2: greptime.v1.TimeUnit (JsonTypeExtension)(0), // 3: greptime.v1.JsonTypeExtension (*QueryContext)(nil), // 4: greptime.v1.QueryContext (*SnapshotSequences)(nil), // 5: greptime.v1.SnapshotSequences (*ExplainOptions)(nil), // 6: greptime.v1.ExplainOptions (*RequestHeader)(nil), // 7: greptime.v1.RequestHeader (*ResponseHeader)(nil), // 8: greptime.v1.ResponseHeader (*Status)(nil), // 9: greptime.v1.Status (*AuthHeader)(nil), // 10: greptime.v1.AuthHeader (*Basic)(nil), // 11: greptime.v1.Basic (*Token)(nil), // 12: greptime.v1.Token (*TableName)(nil), // 13: greptime.v1.TableName (*AffectedRows)(nil), // 14: greptime.v1.AffectedRows (*Metrics)(nil), // 15: greptime.v1.Metrics (*ExpireAfter)(nil), // 16: greptime.v1.ExpireAfter (*EvalInterval)(nil), // 17: greptime.v1.EvalInterval (*FlightMetadata)(nil), // 18: greptime.v1.FlightMetadata (*IntervalMonthDayNano)(nil), // 19: greptime.v1.IntervalMonthDayNano (*TimeRange)(nil), // 20: greptime.v1.TimeRange (*TimeRanges)(nil), // 21: greptime.v1.TimeRanges (*Decimal128)(nil), // 22: greptime.v1.Decimal128 (*StructField)(nil), // 23: greptime.v1.StructField (*ColumnDataTypeExtension)(nil), // 24: greptime.v1.ColumnDataTypeExtension (*DecimalTypeExtension)(nil), // 25: greptime.v1.DecimalTypeExtension (*VectorTypeExtension)(nil), // 26: greptime.v1.VectorTypeExtension (*ListTypeExtension)(nil), // 27: greptime.v1.ListTypeExtension (*StructTypeExtension)(nil), // 28: greptime.v1.StructTypeExtension (*JsonNativeTypeExtension)(nil), // 29: greptime.v1.JsonNativeTypeExtension (*DictionaryTypeExtension)(nil), // 30: greptime.v1.DictionaryTypeExtension (*ColumnOptions)(nil), // 31: greptime.v1.ColumnOptions (*ArrowIpc)(nil), // 32: greptime.v1.ArrowIpc nil, // 33: greptime.v1.QueryContext.ExtensionsEntry nil, // 34: greptime.v1.SnapshotSequences.SstMinSequencesEntry nil, // 35: greptime.v1.SnapshotSequences.SnapshotSeqsEntry nil, // 36: greptime.v1.RequestHeader.TracingContextEntry nil, // 37: greptime.v1.ColumnOptions.OptionsEntry } var file_greptime_v1_common_proto_depIdxs = []int32{ 33, // 0: greptime.v1.QueryContext.extensions:type_name -> greptime.v1.QueryContext.ExtensionsEntry 5, // 1: greptime.v1.QueryContext.snapshot_seqs:type_name -> greptime.v1.SnapshotSequences 6, // 2: greptime.v1.QueryContext.explain:type_name -> greptime.v1.ExplainOptions 34, // 3: greptime.v1.SnapshotSequences.sst_min_sequences:type_name -> greptime.v1.SnapshotSequences.SstMinSequencesEntry 35, // 4: greptime.v1.SnapshotSequences.snapshot_seqs:type_name -> greptime.v1.SnapshotSequences.SnapshotSeqsEntry 10, // 5: greptime.v1.RequestHeader.authorization:type_name -> greptime.v1.AuthHeader 36, // 6: greptime.v1.RequestHeader.tracing_context:type_name -> greptime.v1.RequestHeader.TracingContextEntry 9, // 7: greptime.v1.ResponseHeader.status:type_name -> greptime.v1.Status 11, // 8: greptime.v1.AuthHeader.basic:type_name -> greptime.v1.Basic 12, // 9: greptime.v1.AuthHeader.token:type_name -> greptime.v1.Token 14, // 10: greptime.v1.FlightMetadata.affected_rows:type_name -> greptime.v1.AffectedRows 15, // 11: greptime.v1.FlightMetadata.metrics:type_name -> greptime.v1.Metrics 2, // 12: greptime.v1.TimeRanges.time_unit:type_name -> greptime.v1.TimeUnit 20, // 13: greptime.v1.TimeRanges.time_ranges:type_name -> greptime.v1.TimeRange 1, // 14: greptime.v1.StructField.datatype:type_name -> greptime.v1.ColumnDataType 24, // 15: greptime.v1.StructField.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 25, // 16: greptime.v1.ColumnDataTypeExtension.decimal_type:type_name -> greptime.v1.DecimalTypeExtension 3, // 17: greptime.v1.ColumnDataTypeExtension.json_type:type_name -> greptime.v1.JsonTypeExtension 26, // 18: greptime.v1.ColumnDataTypeExtension.vector_type:type_name -> greptime.v1.VectorTypeExtension 27, // 19: greptime.v1.ColumnDataTypeExtension.list_type:type_name -> greptime.v1.ListTypeExtension 28, // 20: greptime.v1.ColumnDataTypeExtension.struct_type:type_name -> greptime.v1.StructTypeExtension 29, // 21: greptime.v1.ColumnDataTypeExtension.json_native_type:type_name -> greptime.v1.JsonNativeTypeExtension 30, // 22: greptime.v1.ColumnDataTypeExtension.dictionary_type:type_name -> greptime.v1.DictionaryTypeExtension 1, // 23: greptime.v1.ListTypeExtension.datatype:type_name -> greptime.v1.ColumnDataType 24, // 24: greptime.v1.ListTypeExtension.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 23, // 25: greptime.v1.StructTypeExtension.fields:type_name -> greptime.v1.StructField 1, // 26: greptime.v1.JsonNativeTypeExtension.datatype:type_name -> greptime.v1.ColumnDataType 24, // 27: greptime.v1.JsonNativeTypeExtension.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 1, // 28: greptime.v1.DictionaryTypeExtension.key_datatype:type_name -> greptime.v1.ColumnDataType 24, // 29: greptime.v1.DictionaryTypeExtension.key_datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 1, // 30: greptime.v1.DictionaryTypeExtension.value_datatype:type_name -> greptime.v1.ColumnDataType 24, // 31: greptime.v1.DictionaryTypeExtension.value_datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 37, // 32: greptime.v1.ColumnOptions.options:type_name -> greptime.v1.ColumnOptions.OptionsEntry 33, // [33:33] is the sub-list for method output_type 33, // [33:33] is the sub-list for method input_type 33, // [33:33] is the sub-list for extension type_name 33, // [33:33] is the sub-list for extension extendee 0, // [0:33] is the sub-list for field type_name } func init() { file_greptime_v1_common_proto_init() } func file_greptime_v1_common_proto_init() { if File_greptime_v1_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_greptime_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryContext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SnapshotSequences); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExplainOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResponseHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Status); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthHeader); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Basic); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AffectedRows); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpireAfter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EvalInterval); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FlightMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntervalMonthDayNano); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TimeRange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TimeRanges); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decimal128); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructField); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ColumnDataTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecimalTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VectorTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StructTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonNativeTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DictionaryTypeExtension); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ColumnOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_common_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArrowIpc); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_greptime_v1_common_proto_msgTypes[6].OneofWrappers = []interface{}{ (*AuthHeader_Basic)(nil), (*AuthHeader_Token)(nil), } file_greptime_v1_common_proto_msgTypes[20].OneofWrappers = []interface{}{ (*ColumnDataTypeExtension_DecimalType)(nil), (*ColumnDataTypeExtension_JsonType)(nil), (*ColumnDataTypeExtension_VectorType)(nil), (*ColumnDataTypeExtension_ListType)(nil), (*ColumnDataTypeExtension_StructType)(nil), (*ColumnDataTypeExtension_JsonNativeType)(nil), (*ColumnDataTypeExtension_DictionaryType)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_common_proto_rawDesc, NumEnums: 4, NumMessages: 34, NumExtensions: 0, NumServices: 0, }, GoTypes: file_greptime_v1_common_proto_goTypes, DependencyIndexes: file_greptime_v1_common_proto_depIdxs, EnumInfos: file_greptime_v1_common_proto_enumTypes, MessageInfos: file_greptime_v1_common_proto_msgTypes, }.Build() File_greptime_v1_common_proto = out.File file_greptime_v1_common_proto_rawDesc = nil file_greptime_v1_common_proto_goTypes = nil file_greptime_v1_common_proto_depIdxs = nil }