// 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/ddl.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 Analyzer int32 const ( Analyzer_ENGLISH Analyzer = 0 Analyzer_CHINESE Analyzer = 1 ) // Enum value maps for Analyzer. var ( Analyzer_name = map[int32]string{ 0: "ENGLISH", 1: "CHINESE", } Analyzer_value = map[string]int32{ "ENGLISH": 0, "CHINESE": 1, } ) func (x Analyzer) Enum() *Analyzer { p := new(Analyzer) *p = x return p } func (x Analyzer) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Analyzer) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_ddl_proto_enumTypes[0].Descriptor() } func (Analyzer) Type() protoreflect.EnumType { return &file_greptime_v1_ddl_proto_enumTypes[0] } func (x Analyzer) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Analyzer.Descriptor instead. func (Analyzer) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{0} } type FulltextBackend int32 const ( FulltextBackend_TANTIVY FulltextBackend = 0 FulltextBackend_BLOOM FulltextBackend = 1 ) // Enum value maps for FulltextBackend. var ( FulltextBackend_name = map[int32]string{ 0: "TANTIVY", 1: "BLOOM", } FulltextBackend_value = map[string]int32{ "TANTIVY": 0, "BLOOM": 1, } ) func (x FulltextBackend) Enum() *FulltextBackend { p := new(FulltextBackend) *p = x return p } func (x FulltextBackend) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FulltextBackend) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_ddl_proto_enumTypes[1].Descriptor() } func (FulltextBackend) Type() protoreflect.EnumType { return &file_greptime_v1_ddl_proto_enumTypes[1] } func (x FulltextBackend) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FulltextBackend.Descriptor instead. func (FulltextBackend) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{1} } type SkippingIndexType int32 const ( SkippingIndexType_BLOOM_FILTER SkippingIndexType = 0 ) // Enum value maps for SkippingIndexType. var ( SkippingIndexType_name = map[int32]string{ 0: "BLOOM_FILTER", } SkippingIndexType_value = map[string]int32{ "BLOOM_FILTER": 0, } ) func (x SkippingIndexType) Enum() *SkippingIndexType { p := new(SkippingIndexType) *p = x return p } func (x SkippingIndexType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SkippingIndexType) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_ddl_proto_enumTypes[2].Descriptor() } func (SkippingIndexType) Type() protoreflect.EnumType { return &file_greptime_v1_ddl_proto_enumTypes[2] } func (x SkippingIndexType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SkippingIndexType.Descriptor instead. func (SkippingIndexType) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{2} } type AddColumnLocation_LocationType int32 const ( AddColumnLocation_FIRST AddColumnLocation_LocationType = 0 AddColumnLocation_AFTER AddColumnLocation_LocationType = 1 ) // Enum value maps for AddColumnLocation_LocationType. var ( AddColumnLocation_LocationType_name = map[int32]string{ 0: "FIRST", 1: "AFTER", } AddColumnLocation_LocationType_value = map[string]int32{ "FIRST": 0, "AFTER": 1, } ) func (x AddColumnLocation_LocationType) Enum() *AddColumnLocation_LocationType { p := new(AddColumnLocation_LocationType) *p = x return p } func (x AddColumnLocation_LocationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AddColumnLocation_LocationType) Descriptor() protoreflect.EnumDescriptor { return file_greptime_v1_ddl_proto_enumTypes[3].Descriptor() } func (AddColumnLocation_LocationType) Type() protoreflect.EnumType { return &file_greptime_v1_ddl_proto_enumTypes[3] } func (x AddColumnLocation_LocationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AddColumnLocation_LocationType.Descriptor instead. func (AddColumnLocation_LocationType) EnumDescriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{30, 0} } // "Data Definition Language" requests, that create, modify or delete the // database structures but not the data. `DdlRequest` could carry more // information than plain SQL, for example, the "table_id" in `CreateTableExpr`. // So create a new DDL expr if you need it. type DdlRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Expr: // // *DdlRequest_CreateDatabase // *DdlRequest_CreateTable // *DdlRequest_AlterTable // *DdlRequest_DropTable // *DdlRequest_TruncateTable // *DdlRequest_CreateFlow // *DdlRequest_DropFlow // *DdlRequest_CreateView // *DdlRequest_DropView // *DdlRequest_AlterDatabase Expr isDdlRequest_Expr `protobuf_oneof:"expr"` } func (x *DdlRequest) Reset() { *x = DdlRequest{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DdlRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DdlRequest) ProtoMessage() {} func (x *DdlRequest) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DdlRequest.ProtoReflect.Descriptor instead. func (*DdlRequest) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{0} } func (m *DdlRequest) GetExpr() isDdlRequest_Expr { if m != nil { return m.Expr } return nil } func (x *DdlRequest) GetCreateDatabase() *CreateDatabaseExpr { if x, ok := x.GetExpr().(*DdlRequest_CreateDatabase); ok { return x.CreateDatabase } return nil } func (x *DdlRequest) GetCreateTable() *CreateTableExpr { if x, ok := x.GetExpr().(*DdlRequest_CreateTable); ok { return x.CreateTable } return nil } func (x *DdlRequest) GetAlterTable() *AlterTableExpr { if x, ok := x.GetExpr().(*DdlRequest_AlterTable); ok { return x.AlterTable } return nil } func (x *DdlRequest) GetDropTable() *DropTableExpr { if x, ok := x.GetExpr().(*DdlRequest_DropTable); ok { return x.DropTable } return nil } func (x *DdlRequest) GetTruncateTable() *TruncateTableExpr { if x, ok := x.GetExpr().(*DdlRequest_TruncateTable); ok { return x.TruncateTable } return nil } func (x *DdlRequest) GetCreateFlow() *CreateFlowExpr { if x, ok := x.GetExpr().(*DdlRequest_CreateFlow); ok { return x.CreateFlow } return nil } func (x *DdlRequest) GetDropFlow() *DropFlowExpr { if x, ok := x.GetExpr().(*DdlRequest_DropFlow); ok { return x.DropFlow } return nil } func (x *DdlRequest) GetCreateView() *CreateViewExpr { if x, ok := x.GetExpr().(*DdlRequest_CreateView); ok { return x.CreateView } return nil } func (x *DdlRequest) GetDropView() *DropViewExpr { if x, ok := x.GetExpr().(*DdlRequest_DropView); ok { return x.DropView } return nil } func (x *DdlRequest) GetAlterDatabase() *AlterDatabaseExpr { if x, ok := x.GetExpr().(*DdlRequest_AlterDatabase); ok { return x.AlterDatabase } return nil } type isDdlRequest_Expr interface { isDdlRequest_Expr() } type DdlRequest_CreateDatabase struct { CreateDatabase *CreateDatabaseExpr `protobuf:"bytes,1,opt,name=create_database,json=createDatabase,proto3,oneof"` } type DdlRequest_CreateTable struct { CreateTable *CreateTableExpr `protobuf:"bytes,2,opt,name=create_table,json=createTable,proto3,oneof"` } type DdlRequest_AlterTable struct { AlterTable *AlterTableExpr `protobuf:"bytes,3,opt,name=alter_table,json=alterTable,proto3,oneof"` } type DdlRequest_DropTable struct { DropTable *DropTableExpr `protobuf:"bytes,4,opt,name=drop_table,json=dropTable,proto3,oneof"` } type DdlRequest_TruncateTable struct { TruncateTable *TruncateTableExpr `protobuf:"bytes,7,opt,name=truncate_table,json=truncateTable,proto3,oneof"` } type DdlRequest_CreateFlow struct { CreateFlow *CreateFlowExpr `protobuf:"bytes,8,opt,name=create_flow,json=createFlow,proto3,oneof"` } type DdlRequest_DropFlow struct { DropFlow *DropFlowExpr `protobuf:"bytes,9,opt,name=drop_flow,json=dropFlow,proto3,oneof"` } type DdlRequest_CreateView struct { CreateView *CreateViewExpr `protobuf:"bytes,10,opt,name=create_view,json=createView,proto3,oneof"` } type DdlRequest_DropView struct { DropView *DropViewExpr `protobuf:"bytes,11,opt,name=drop_view,json=dropView,proto3,oneof"` } type DdlRequest_AlterDatabase struct { AlterDatabase *AlterDatabaseExpr `protobuf:"bytes,12,opt,name=alter_database,json=alterDatabase,proto3,oneof"` } func (*DdlRequest_CreateDatabase) isDdlRequest_Expr() {} func (*DdlRequest_CreateTable) isDdlRequest_Expr() {} func (*DdlRequest_AlterTable) isDdlRequest_Expr() {} func (*DdlRequest_DropTable) isDdlRequest_Expr() {} func (*DdlRequest_TruncateTable) isDdlRequest_Expr() {} func (*DdlRequest_CreateFlow) isDdlRequest_Expr() {} func (*DdlRequest_DropFlow) isDdlRequest_Expr() {} func (*DdlRequest_CreateView) isDdlRequest_Expr() {} func (*DdlRequest_DropView) isDdlRequest_Expr() {} func (*DdlRequest_AlterDatabase) isDdlRequest_Expr() {} // Create a flow to run the SQL when new data arrives. type CreateFlowExpr 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"` FlowName string `protobuf:"bytes,2,opt,name=flow_name,json=flowName,proto3" json:"flow_name,omitempty"` SourceTableNames []*TableName `protobuf:"bytes,3,rep,name=source_table_names,json=sourceTableNames,proto3" json:"source_table_names,omitempty"` SinkTableName *TableName `protobuf:"bytes,4,opt,name=sink_table_name,json=sinkTableName,proto3" json:"sink_table_name,omitempty"` OrReplace bool `protobuf:"varint,5,opt,name=or_replace,json=orReplace,proto3" json:"or_replace,omitempty"` CreateIfNotExists bool `protobuf:"varint,6,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` // Expire data older than the given duration seconds. ExpireAfter *ExpireAfter `protobuf:"bytes,7,opt,name=expire_after,json=expireAfter,proto3" json:"expire_after,omitempty"` Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` Sql string `protobuf:"bytes,9,opt,name=sql,proto3" json:"sql,omitempty"` FlowOptions map[string]string `protobuf:"bytes,10,rep,name=flow_options,json=flowOptions,proto3" json:"flow_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CreateFlowExpr) Reset() { *x = CreateFlowExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateFlowExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateFlowExpr) ProtoMessage() {} func (x *CreateFlowExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 CreateFlowExpr.ProtoReflect.Descriptor instead. func (*CreateFlowExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{1} } func (x *CreateFlowExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateFlowExpr) GetFlowName() string { if x != nil { return x.FlowName } return "" } func (x *CreateFlowExpr) GetSourceTableNames() []*TableName { if x != nil { return x.SourceTableNames } return nil } func (x *CreateFlowExpr) GetSinkTableName() *TableName { if x != nil { return x.SinkTableName } return nil } func (x *CreateFlowExpr) GetOrReplace() bool { if x != nil { return x.OrReplace } return false } func (x *CreateFlowExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateFlowExpr) GetExpireAfter() *ExpireAfter { if x != nil { return x.ExpireAfter } return nil } func (x *CreateFlowExpr) GetComment() string { if x != nil { return x.Comment } return "" } func (x *CreateFlowExpr) GetSql() string { if x != nil { return x.Sql } return "" } func (x *CreateFlowExpr) GetFlowOptions() map[string]string { if x != nil { return x.FlowOptions } return nil } // Drop a flow. type DropFlowExpr 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"` FlowName string `protobuf:"bytes,2,opt,name=flow_name,json=flowName,proto3" json:"flow_name,omitempty"` FlowId *FlowId `protobuf:"bytes,3,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"` DropIfExists bool `protobuf:"varint,5,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"` } func (x *DropFlowExpr) Reset() { *x = DropFlowExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropFlowExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropFlowExpr) ProtoMessage() {} func (x *DropFlowExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DropFlowExpr.ProtoReflect.Descriptor instead. func (*DropFlowExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{2} } func (x *DropFlowExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropFlowExpr) GetFlowName() string { if x != nil { return x.FlowName } return "" } func (x *DropFlowExpr) GetFlowId() *FlowId { if x != nil { return x.FlowId } return nil } func (x *DropFlowExpr) GetDropIfExists() bool { if x != nil { return x.DropIfExists } return false } // Create a view type CreateViewExpr 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"` ViewName string `protobuf:"bytes,3,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` LogicalPlan []byte `protobuf:"bytes,4,opt,name=logical_plan,json=logicalPlan,proto3" json:"logical_plan,omitempty"` CreateIfNotExists bool `protobuf:"varint,5,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` OrReplace bool `protobuf:"varint,6,opt,name=or_replace,json=orReplace,proto3" json:"or_replace,omitempty"` TableNames []*TableName `protobuf:"bytes,7,rep,name=table_names,json=tableNames,proto3" json:"table_names,omitempty"` Columns []string `protobuf:"bytes,8,rep,name=columns,proto3" json:"columns,omitempty"` PlanColumns []string `protobuf:"bytes,9,rep,name=plan_columns,json=planColumns,proto3" json:"plan_columns,omitempty"` Definition string `protobuf:"bytes,10,opt,name=definition,proto3" json:"definition,omitempty"` } func (x *CreateViewExpr) Reset() { *x = CreateViewExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateViewExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateViewExpr) ProtoMessage() {} func (x *CreateViewExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 CreateViewExpr.ProtoReflect.Descriptor instead. func (*CreateViewExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{3} } func (x *CreateViewExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateViewExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *CreateViewExpr) GetViewName() string { if x != nil { return x.ViewName } return "" } func (x *CreateViewExpr) GetLogicalPlan() []byte { if x != nil { return x.LogicalPlan } return nil } func (x *CreateViewExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateViewExpr) GetOrReplace() bool { if x != nil { return x.OrReplace } return false } func (x *CreateViewExpr) GetTableNames() []*TableName { if x != nil { return x.TableNames } return nil } func (x *CreateViewExpr) GetColumns() []string { if x != nil { return x.Columns } return nil } func (x *CreateViewExpr) GetPlanColumns() []string { if x != nil { return x.PlanColumns } return nil } func (x *CreateViewExpr) GetDefinition() string { if x != nil { return x.Definition } return "" } // Drop a view type DropViewExpr 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"` ViewName string `protobuf:"bytes,3,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` ViewId *TableId `protobuf:"bytes,4,opt,name=view_id,json=viewId,proto3" json:"view_id,omitempty"` DropIfExists bool `protobuf:"varint,5,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"` } func (x *DropViewExpr) Reset() { *x = DropViewExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropViewExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropViewExpr) ProtoMessage() {} func (x *DropViewExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DropViewExpr.ProtoReflect.Descriptor instead. func (*DropViewExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{4} } func (x *DropViewExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropViewExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *DropViewExpr) GetViewName() string { if x != nil { return x.ViewName } return "" } func (x *DropViewExpr) GetViewId() *TableId { if x != nil { return x.ViewId } return nil } func (x *DropViewExpr) GetDropIfExists() bool { if x != nil { return x.DropIfExists } return false } type CreateTableExpr 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"` Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` ColumnDefs []*ColumnDef `protobuf:"bytes,5,rep,name=column_defs,json=columnDefs,proto3" json:"column_defs,omitempty"` TimeIndex string `protobuf:"bytes,6,opt,name=time_index,json=timeIndex,proto3" json:"time_index,omitempty"` PrimaryKeys []string `protobuf:"bytes,7,rep,name=primary_keys,json=primaryKeys,proto3" json:"primary_keys,omitempty"` CreateIfNotExists bool `protobuf:"varint,8,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` TableOptions map[string]string `protobuf:"bytes,9,rep,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` TableId *TableId `protobuf:"bytes,10,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` Engine string `protobuf:"bytes,12,opt,name=engine,proto3" json:"engine,omitempty"` } func (x *CreateTableExpr) Reset() { *x = CreateTableExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateTableExpr) ProtoMessage() {} func (x *CreateTableExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 CreateTableExpr.ProtoReflect.Descriptor instead. func (*CreateTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{5} } func (x *CreateTableExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateTableExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *CreateTableExpr) GetTableName() string { if x != nil { return x.TableName } return "" } func (x *CreateTableExpr) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *CreateTableExpr) GetColumnDefs() []*ColumnDef { if x != nil { return x.ColumnDefs } return nil } func (x *CreateTableExpr) GetTimeIndex() string { if x != nil { return x.TimeIndex } return "" } func (x *CreateTableExpr) GetPrimaryKeys() []string { if x != nil { return x.PrimaryKeys } return nil } func (x *CreateTableExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateTableExpr) GetTableOptions() map[string]string { if x != nil { return x.TableOptions } return nil } func (x *CreateTableExpr) GetTableId() *TableId { if x != nil { return x.TableId } return nil } func (x *CreateTableExpr) GetEngine() string { if x != nil { return x.Engine } return "" } type AlterTableExpr 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"` // Types that are assignable to Kind: // // *AlterTableExpr_AddColumns // *AlterTableExpr_DropColumns // *AlterTableExpr_RenameTable // *AlterTableExpr_ModifyColumnTypes // *AlterTableExpr_SetTableOptions // *AlterTableExpr_UnsetTableOptions // *AlterTableExpr_SetIndex // *AlterTableExpr_UnsetIndex // *AlterTableExpr_DropDefaults <<<<<<< HEAD // *AlterTableExpr_SetIndexes // *AlterTableExpr_UnsetIndexes ======= // *AlterTableExpr_SetDefaults >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) Kind isAlterTableExpr_Kind `protobuf_oneof:"kind"` } func (x *AlterTableExpr) Reset() { *x = AlterTableExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlterTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlterTableExpr) ProtoMessage() {} func (x *AlterTableExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 AlterTableExpr.ProtoReflect.Descriptor instead. func (*AlterTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{6} } func (x *AlterTableExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *AlterTableExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *AlterTableExpr) GetTableName() string { if x != nil { return x.TableName } return "" } func (m *AlterTableExpr) GetKind() isAlterTableExpr_Kind { if m != nil { return m.Kind } return nil } func (x *AlterTableExpr) GetAddColumns() *AddColumns { if x, ok := x.GetKind().(*AlterTableExpr_AddColumns); ok { return x.AddColumns } return nil } func (x *AlterTableExpr) GetDropColumns() *DropColumns { if x, ok := x.GetKind().(*AlterTableExpr_DropColumns); ok { return x.DropColumns } return nil } func (x *AlterTableExpr) GetRenameTable() *RenameTable { if x, ok := x.GetKind().(*AlterTableExpr_RenameTable); ok { return x.RenameTable } return nil } func (x *AlterTableExpr) GetModifyColumnTypes() *ModifyColumnTypes { if x, ok := x.GetKind().(*AlterTableExpr_ModifyColumnTypes); ok { return x.ModifyColumnTypes } return nil } func (x *AlterTableExpr) GetSetTableOptions() *SetTableOptions { if x, ok := x.GetKind().(*AlterTableExpr_SetTableOptions); ok { return x.SetTableOptions } return nil } func (x *AlterTableExpr) GetUnsetTableOptions() *UnsetTableOptions { if x, ok := x.GetKind().(*AlterTableExpr_UnsetTableOptions); ok { return x.UnsetTableOptions } return nil } func (x *AlterTableExpr) GetSetIndex() *SetIndex { if x, ok := x.GetKind().(*AlterTableExpr_SetIndex); ok { return x.SetIndex } return nil } func (x *AlterTableExpr) GetUnsetIndex() *UnsetIndex { if x, ok := x.GetKind().(*AlterTableExpr_UnsetIndex); ok { return x.UnsetIndex } return nil } func (x *AlterTableExpr) GetDropDefaults() *DropDefaults { if x, ok := x.GetKind().(*AlterTableExpr_DropDefaults); ok { return x.DropDefaults } return nil } <<<<<<< HEAD func (x *AlterTableExpr) GetSetIndexes() *SetIndexes { if x, ok := x.GetKind().(*AlterTableExpr_SetIndexes); ok { return x.SetIndexes } return nil } func (x *AlterTableExpr) GetUnsetIndexes() *UnsetIndexes { if x, ok := x.GetKind().(*AlterTableExpr_UnsetIndexes); ok { return x.UnsetIndexes ======= func (x *AlterTableExpr) GetSetDefaults() *SetDefaults { if x, ok := x.GetKind().(*AlterTableExpr_SetDefaults); ok { return x.SetDefaults >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } return nil } type isAlterTableExpr_Kind interface { isAlterTableExpr_Kind() } type AlterTableExpr_AddColumns struct { AddColumns *AddColumns `protobuf:"bytes,4,opt,name=add_columns,json=addColumns,proto3,oneof"` } type AlterTableExpr_DropColumns struct { DropColumns *DropColumns `protobuf:"bytes,5,opt,name=drop_columns,json=dropColumns,proto3,oneof"` } type AlterTableExpr_RenameTable struct { RenameTable *RenameTable `protobuf:"bytes,6,opt,name=rename_table,json=renameTable,proto3,oneof"` } type AlterTableExpr_ModifyColumnTypes struct { ModifyColumnTypes *ModifyColumnTypes `protobuf:"bytes,7,opt,name=modify_column_types,json=modifyColumnTypes,proto3,oneof"` } type AlterTableExpr_SetTableOptions struct { SetTableOptions *SetTableOptions `protobuf:"bytes,8,opt,name=set_table_options,json=setTableOptions,proto3,oneof"` } type AlterTableExpr_UnsetTableOptions struct { UnsetTableOptions *UnsetTableOptions `protobuf:"bytes,11,opt,name=unset_table_options,json=unsetTableOptions,proto3,oneof"` } type AlterTableExpr_SetIndex struct { // Deprecated: use set_indexes instead. SetIndex *SetIndex `protobuf:"bytes,12,opt,name=set_index,json=setIndex,proto3,oneof"` } type AlterTableExpr_UnsetIndex struct { // Deprecated: use unset_indexes instead. UnsetIndex *UnsetIndex `protobuf:"bytes,13,opt,name=unset_index,json=unsetIndex,proto3,oneof"` } type AlterTableExpr_DropDefaults struct { DropDefaults *DropDefaults `protobuf:"bytes,14,opt,name=drop_defaults,json=dropDefaults,proto3,oneof"` } <<<<<<< HEAD type AlterTableExpr_SetIndexes struct { SetIndexes *SetIndexes `protobuf:"bytes,15,opt,name=set_indexes,json=setIndexes,proto3,oneof"` } type AlterTableExpr_UnsetIndexes struct { UnsetIndexes *UnsetIndexes `protobuf:"bytes,16,opt,name=unset_indexes,json=unsetIndexes,proto3,oneof"` ======= type AlterTableExpr_SetDefaults struct { SetDefaults *SetDefaults `protobuf:"bytes,15,opt,name=set_defaults,json=setDefaults,proto3,oneof"` >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (*AlterTableExpr_AddColumns) isAlterTableExpr_Kind() {} func (*AlterTableExpr_DropColumns) isAlterTableExpr_Kind() {} func (*AlterTableExpr_RenameTable) isAlterTableExpr_Kind() {} func (*AlterTableExpr_ModifyColumnTypes) isAlterTableExpr_Kind() {} func (*AlterTableExpr_SetTableOptions) isAlterTableExpr_Kind() {} func (*AlterTableExpr_UnsetTableOptions) isAlterTableExpr_Kind() {} func (*AlterTableExpr_SetIndex) isAlterTableExpr_Kind() {} func (*AlterTableExpr_UnsetIndex) isAlterTableExpr_Kind() {} func (*AlterTableExpr_DropDefaults) isAlterTableExpr_Kind() {} <<<<<<< HEAD func (*AlterTableExpr_SetIndexes) isAlterTableExpr_Kind() {} func (*AlterTableExpr_UnsetIndexes) isAlterTableExpr_Kind() {} ======= func (*AlterTableExpr_SetDefaults) isAlterTableExpr_Kind() {} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) type DropDefault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` } func (x *DropDefault) Reset() { *x = DropDefault{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropDefault) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropDefault) ProtoMessage() {} func (x *DropDefault) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DropDefault.ProtoReflect.Descriptor instead. func (*DropDefault) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{7} } func (x *DropDefault) GetColumnName() string { if x != nil { return x.ColumnName } return "" } <<<<<<< HEAD type SetIndexes struct { ======= type SetDefault struct { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields <<<<<<< HEAD SetIndexes []*SetIndex `protobuf:"bytes,1,rep,name=set_indexes,json=setIndexes,proto3" json:"set_indexes,omitempty"` } func (x *SetIndexes) Reset() { *x = SetIndexes{} ======= ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` DefaultConstraint []byte `protobuf:"bytes,2,opt,name=default_constraint,json=defaultConstraint,proto3" json:"default_constraint,omitempty"` } func (x *SetDefault) Reset() { *x = SetDefault{} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } <<<<<<< HEAD func (x *SetIndexes) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetIndexes) ProtoMessage() {} func (x *SetIndexes) ProtoReflect() protoreflect.Message { ======= func (x *SetDefault) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetDefault) ProtoMessage() {} func (x *SetDefault) ProtoReflect() protoreflect.Message { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) mi := &file_greptime_v1_ddl_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) } <<<<<<< HEAD // Deprecated: Use SetIndexes.ProtoReflect.Descriptor instead. func (*SetIndexes) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{8} } func (x *SetIndexes) GetSetIndexes() []*SetIndex { if x != nil { return x.SetIndexes } return nil } type UnsetIndexes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UnsetIndexes []*UnsetIndex `protobuf:"bytes,1,rep,name=unset_indexes,json=unsetIndexes,proto3" json:"unset_indexes,omitempty"` } func (x *UnsetIndexes) Reset() { *x = UnsetIndexes{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetIndexes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetIndexes) ProtoMessage() {} func (x *UnsetIndexes) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 UnsetIndexes.ProtoReflect.Descriptor instead. func (*UnsetIndexes) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9} } func (x *UnsetIndexes) GetUnsetIndexes() []*UnsetIndex { if x != nil { return x.UnsetIndexes ======= // Deprecated: Use SetDefault.ProtoReflect.Descriptor instead. func (*SetDefault) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{8} } func (x *SetDefault) GetColumnName() string { if x != nil { return x.ColumnName } return "" } func (x *SetDefault) GetDefaultConstraint() []byte { if x != nil { return x.DefaultConstraint >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } return nil } type SetIndex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Options: // // *SetIndex_Fulltext // *SetIndex_Inverted // *SetIndex_Skipping Options isSetIndex_Options `protobuf_oneof:"options"` } func (x *SetIndex) Reset() { *x = SetIndex{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[10] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[9] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetIndex) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetIndex) ProtoMessage() {} func (x *SetIndex) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[10] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[9] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 SetIndex.ProtoReflect.Descriptor instead. func (*SetIndex) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{10} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (m *SetIndex) GetOptions() isSetIndex_Options { if m != nil { return m.Options } return nil } func (x *SetIndex) GetFulltext() *SetFulltext { if x, ok := x.GetOptions().(*SetIndex_Fulltext); ok { return x.Fulltext } return nil } func (x *SetIndex) GetInverted() *SetInverted { if x, ok := x.GetOptions().(*SetIndex_Inverted); ok { return x.Inverted } return nil } func (x *SetIndex) GetSkipping() *SetSkipping { if x, ok := x.GetOptions().(*SetIndex_Skipping); ok { return x.Skipping } return nil } type isSetIndex_Options interface { isSetIndex_Options() } type SetIndex_Fulltext struct { Fulltext *SetFulltext `protobuf:"bytes,1,opt,name=fulltext,proto3,oneof"` } type SetIndex_Inverted struct { Inverted *SetInverted `protobuf:"bytes,2,opt,name=inverted,proto3,oneof"` } type SetIndex_Skipping struct { Skipping *SetSkipping `protobuf:"bytes,3,opt,name=skipping,proto3,oneof"` } func (*SetIndex_Fulltext) isSetIndex_Options() {} func (*SetIndex_Inverted) isSetIndex_Options() {} func (*SetIndex_Skipping) isSetIndex_Options() {} type UnsetIndex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Options: // // *UnsetIndex_Fulltext // *UnsetIndex_Inverted // *UnsetIndex_Skipping Options isUnsetIndex_Options `protobuf_oneof:"options"` } func (x *UnsetIndex) Reset() { *x = UnsetIndex{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[11] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[10] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetIndex) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetIndex) ProtoMessage() {} func (x *UnsetIndex) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[11] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[10] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 UnsetIndex.ProtoReflect.Descriptor instead. func (*UnsetIndex) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{11} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{10} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (m *UnsetIndex) GetOptions() isUnsetIndex_Options { if m != nil { return m.Options } return nil } func (x *UnsetIndex) GetFulltext() *UnsetFulltext { if x, ok := x.GetOptions().(*UnsetIndex_Fulltext); ok { return x.Fulltext } return nil } func (x *UnsetIndex) GetInverted() *UnsetInverted { if x, ok := x.GetOptions().(*UnsetIndex_Inverted); ok { return x.Inverted } return nil } func (x *UnsetIndex) GetSkipping() *UnsetSkipping { if x, ok := x.GetOptions().(*UnsetIndex_Skipping); ok { return x.Skipping } return nil } type isUnsetIndex_Options interface { isUnsetIndex_Options() } type UnsetIndex_Fulltext struct { Fulltext *UnsetFulltext `protobuf:"bytes,1,opt,name=fulltext,proto3,oneof"` } type UnsetIndex_Inverted struct { Inverted *UnsetInverted `protobuf:"bytes,2,opt,name=inverted,proto3,oneof"` } type UnsetIndex_Skipping struct { Skipping *UnsetSkipping `protobuf:"bytes,3,opt,name=skipping,proto3,oneof"` } func (*UnsetIndex_Fulltext) isUnsetIndex_Options() {} func (*UnsetIndex_Inverted) isUnsetIndex_Options() {} func (*UnsetIndex_Skipping) isUnsetIndex_Options() {} type DropTableExpr 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"` TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` DropIfExists bool `protobuf:"varint,5,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"` } func (x *DropTableExpr) Reset() { *x = DropTableExpr{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[12] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[11] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropTableExpr) ProtoMessage() {} func (x *DropTableExpr) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[12] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[11] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 DropTableExpr.ProtoReflect.Descriptor instead. func (*DropTableExpr) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{11} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *DropTableExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropTableExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *DropTableExpr) GetTableName() string { if x != nil { return x.TableName } return "" } func (x *DropTableExpr) GetTableId() *TableId { if x != nil { return x.TableId } return nil } func (x *DropTableExpr) GetDropIfExists() bool { if x != nil { return x.DropIfExists } return false } type CreateDatabaseExpr 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"` CreateIfNotExists bool `protobuf:"varint,3,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` Options map[string]string `protobuf:"bytes,4,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 *CreateDatabaseExpr) Reset() { *x = CreateDatabaseExpr{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[13] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[12] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateDatabaseExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateDatabaseExpr) ProtoMessage() {} func (x *CreateDatabaseExpr) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[13] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[12] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 CreateDatabaseExpr.ProtoReflect.Descriptor instead. func (*CreateDatabaseExpr) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *CreateDatabaseExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateDatabaseExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *CreateDatabaseExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateDatabaseExpr) GetOptions() map[string]string { if x != nil { return x.Options } return nil } type TruncateTableExpr 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"` TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` } func (x *TruncateTableExpr) Reset() { *x = TruncateTableExpr{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[14] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[13] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TruncateTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*TruncateTableExpr) ProtoMessage() {} func (x *TruncateTableExpr) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[14] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[13] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 TruncateTableExpr.ProtoReflect.Descriptor instead. func (*TruncateTableExpr) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{14} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *TruncateTableExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *TruncateTableExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *TruncateTableExpr) GetTableName() string { if x != nil { return x.TableName } return "" } func (x *TruncateTableExpr) GetTableId() *TableId { if x != nil { return x.TableId } return nil } type DropDatabaseExpr 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"` DropIfExists bool `protobuf:"varint,3,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"` } func (x *DropDatabaseExpr) Reset() { *x = DropDatabaseExpr{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[15] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[14] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropDatabaseExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropDatabaseExpr) ProtoMessage() {} func (x *DropDatabaseExpr) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[15] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[14] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 DropDatabaseExpr.ProtoReflect.Descriptor instead. func (*DropDatabaseExpr) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{15} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{14} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *DropDatabaseExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropDatabaseExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *DropDatabaseExpr) GetDropIfExists() bool { if x != nil { return x.DropIfExists } return false } type AddColumns struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AddColumns []*AddColumn `protobuf:"bytes,1,rep,name=add_columns,json=addColumns,proto3" json:"add_columns,omitempty"` } func (x *AddColumns) Reset() { *x = AddColumns{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[16] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[15] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddColumns) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddColumns) ProtoMessage() {} func (x *AddColumns) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[16] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[15] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 AddColumns.ProtoReflect.Descriptor instead. func (*AddColumns) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{16} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{15} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *AddColumns) GetAddColumns() []*AddColumn { if x != nil { return x.AddColumns } return nil } type DropDefaults struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DropDefaults []*DropDefault `protobuf:"bytes,1,rep,name=drop_defaults,json=dropDefaults,proto3" json:"drop_defaults,omitempty"` } func (x *DropDefaults) Reset() { *x = DropDefaults{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[17] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[16] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropDefaults) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropDefaults) ProtoMessage() {} func (x *DropDefaults) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_greptime_v1_ddl_proto_msgTypes[17] ======= mi := &file_greptime_v1_ddl_proto_msgTypes[16] >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 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 DropDefaults.ProtoReflect.Descriptor instead. func (*DropDefaults) Descriptor() ([]byte, []int) { <<<<<<< HEAD return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{17} ======= return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{16} >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func (x *DropDefaults) GetDropDefaults() []*DropDefault { if x != nil { return x.DropDefaults } return nil } type SetDefaults struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SetDefaults []*SetDefault `protobuf:"bytes,1,rep,name=set_defaults,json=setDefaults,proto3" json:"set_defaults,omitempty"` } func (x *SetDefaults) Reset() { *x = SetDefaults{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetDefaults) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetDefaults) ProtoMessage() {} func (x *SetDefaults) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 SetDefaults.ProtoReflect.Descriptor instead. func (*SetDefaults) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{17} } func (x *SetDefaults) GetSetDefaults() []*SetDefault { if x != nil { return x.SetDefaults } return nil } type DropColumns struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DropColumns []*DropColumn `protobuf:"bytes,1,rep,name=drop_columns,json=dropColumns,proto3" json:"drop_columns,omitempty"` } func (x *DropColumns) Reset() { *x = DropColumns{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropColumns) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropColumns) ProtoMessage() {} func (x *DropColumns) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DropColumns.ProtoReflect.Descriptor instead. func (*DropColumns) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{18} } func (x *DropColumns) GetDropColumns() []*DropColumn { if x != nil { return x.DropColumns } return nil } type ModifyColumnTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ModifyColumnTypes []*ModifyColumnType `protobuf:"bytes,1,rep,name=modify_column_types,json=modifyColumnTypes,proto3" json:"modify_column_types,omitempty"` } func (x *ModifyColumnTypes) Reset() { *x = ModifyColumnTypes{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ModifyColumnTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModifyColumnTypes) ProtoMessage() {} func (x *ModifyColumnTypes) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 ModifyColumnTypes.ProtoReflect.Descriptor instead. func (*ModifyColumnTypes) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{19} } func (x *ModifyColumnTypes) GetModifyColumnTypes() []*ModifyColumnType { if x != nil { return x.ModifyColumnTypes } return nil } type RenameTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NewTableName string `protobuf:"bytes,1,opt,name=new_table_name,json=newTableName,proto3" json:"new_table_name,omitempty"` } func (x *RenameTable) Reset() { *x = RenameTable{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RenameTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*RenameTable) ProtoMessage() {} func (x *RenameTable) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 RenameTable.ProtoReflect.Descriptor instead. func (*RenameTable) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{20} } func (x *RenameTable) GetNewTableName() string { if x != nil { return x.NewTableName } return "" } type AddColumn struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnDef *ColumnDef `protobuf:"bytes,1,opt,name=column_def,json=columnDef,proto3" json:"column_def,omitempty"` Location *AddColumnLocation `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` AddIfNotExists bool `protobuf:"varint,4,opt,name=add_if_not_exists,json=addIfNotExists,proto3" json:"add_if_not_exists,omitempty"` } func (x *AddColumn) Reset() { *x = AddColumn{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddColumn) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddColumn) ProtoMessage() {} func (x *AddColumn) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 AddColumn.ProtoReflect.Descriptor instead. func (*AddColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{21} } func (x *AddColumn) GetColumnDef() *ColumnDef { if x != nil { return x.ColumnDef } return nil } func (x *AddColumn) GetLocation() *AddColumnLocation { if x != nil { return x.Location } return nil } func (x *AddColumn) GetAddIfNotExists() bool { if x != nil { return x.AddIfNotExists } return false } type ModifyColumnType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` TargetType ColumnDataType `protobuf:"varint,2,opt,name=target_type,json=targetType,proto3,enum=greptime.v1.ColumnDataType" json:"target_type,omitempty"` TargetTypeExtension *ColumnDataTypeExtension `protobuf:"bytes,3,opt,name=target_type_extension,json=targetTypeExtension,proto3" json:"target_type_extension,omitempty"` } func (x *ModifyColumnType) Reset() { *x = ModifyColumnType{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ModifyColumnType) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModifyColumnType) ProtoMessage() {} func (x *ModifyColumnType) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 ModifyColumnType.ProtoReflect.Descriptor instead. func (*ModifyColumnType) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{22} } func (x *ModifyColumnType) GetColumnName() string { if x != nil { return x.ColumnName } return "" } func (x *ModifyColumnType) GetTargetType() ColumnDataType { if x != nil { return x.TargetType } return ColumnDataType_BOOLEAN } func (x *ModifyColumnType) GetTargetTypeExtension() *ColumnDataTypeExtension { if x != nil { return x.TargetTypeExtension } return nil } type Option struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *Option) Reset() { *x = Option{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Option) String() string { return protoimpl.X.MessageStringOf(x) } func (*Option) ProtoMessage() {} func (x *Option) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 Option.ProtoReflect.Descriptor instead. func (*Option) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{23} } func (x *Option) GetKey() string { if x != nil { return x.Key } return "" } func (x *Option) GetValue() string { if x != nil { return x.Value } return "" } type SetTableOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TableOptions []*Option `protobuf:"bytes,1,rep,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"` } func (x *SetTableOptions) Reset() { *x = SetTableOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetTableOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetTableOptions) ProtoMessage() {} func (x *SetTableOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 SetTableOptions.ProtoReflect.Descriptor instead. func (*SetTableOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{24} } func (x *SetTableOptions) GetTableOptions() []*Option { if x != nil { return x.TableOptions } return nil } type UnsetTableOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` } func (x *UnsetTableOptions) Reset() { *x = UnsetTableOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetTableOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetTableOptions) ProtoMessage() {} func (x *UnsetTableOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 UnsetTableOptions.ProtoReflect.Descriptor instead. func (*UnsetTableOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{25} } func (x *UnsetTableOptions) GetKeys() []string { if x != nil { return x.Keys } return nil } type DropColumn struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *DropColumn) Reset() { *x = DropColumn{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropColumn) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropColumn) ProtoMessage() {} func (x *DropColumn) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 DropColumn.ProtoReflect.Descriptor instead. func (*DropColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{26} } func (x *DropColumn) GetName() string { if x != nil { return x.Name } return "" } type TableId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *TableId) Reset() { *x = TableId{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableId) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableId) ProtoMessage() {} func (x *TableId) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 TableId.ProtoReflect.Descriptor instead. func (*TableId) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{27} } func (x *TableId) GetId() uint32 { if x != nil { return x.Id } return 0 } type FlowId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *FlowId) Reset() { *x = FlowId{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FlowId) String() string { return protoimpl.X.MessageStringOf(x) } func (*FlowId) ProtoMessage() {} func (x *FlowId) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_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 FlowId.ProtoReflect.Descriptor instead. func (*FlowId) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{28} } func (x *FlowId) GetId() uint32 { if x != nil { return x.Id } return 0 } type ColumnDef 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=data_type,json=dataType,proto3,enum=greptime.v1.ColumnDataType" json:"data_type,omitempty"` IsNullable bool `protobuf:"varint,3,opt,name=is_nullable,json=isNullable,proto3" json:"is_nullable,omitempty"` DefaultConstraint []byte `protobuf:"bytes,4,opt,name=default_constraint,json=defaultConstraint,proto3" json:"default_constraint,omitempty"` SemanticType SemanticType `protobuf:"varint,5,opt,name=semantic_type,json=semanticType,proto3,enum=greptime.v1.SemanticType" json:"semantic_type,omitempty"` Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` // Extension for ColumnDataType. DatatypeExtension *ColumnDataTypeExtension `protobuf:"bytes,7,opt,name=datatype_extension,json=datatypeExtension,proto3" json:"datatype_extension,omitempty"` // Additional column options. Options *ColumnOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"` } func (x *ColumnDef) Reset() { *x = ColumnDef{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ColumnDef) String() string { return protoimpl.X.MessageStringOf(x) } func (*ColumnDef) ProtoMessage() {} func (x *ColumnDef) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[29] 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 ColumnDef.ProtoReflect.Descriptor instead. func (*ColumnDef) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{29} } func (x *ColumnDef) GetName() string { if x != nil { return x.Name } return "" } func (x *ColumnDef) GetDataType() ColumnDataType { if x != nil { return x.DataType } return ColumnDataType_BOOLEAN } func (x *ColumnDef) GetIsNullable() bool { if x != nil { return x.IsNullable } return false } func (x *ColumnDef) GetDefaultConstraint() []byte { if x != nil { return x.DefaultConstraint } return nil } func (x *ColumnDef) GetSemanticType() SemanticType { if x != nil { return x.SemanticType } return SemanticType_TAG } func (x *ColumnDef) GetComment() string { if x != nil { return x.Comment } return "" } func (x *ColumnDef) GetDatatypeExtension() *ColumnDataTypeExtension { if x != nil { return x.DatatypeExtension } return nil } func (x *ColumnDef) GetOptions() *ColumnOptions { if x != nil { return x.Options } return nil } type AddColumnLocation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LocationType AddColumnLocation_LocationType `protobuf:"varint,1,opt,name=location_type,json=locationType,proto3,enum=greptime.v1.AddColumnLocation_LocationType" json:"location_type,omitempty"` AfterColumnName string `protobuf:"bytes,2,opt,name=after_column_name,json=afterColumnName,proto3" json:"after_column_name,omitempty"` } func (x *AddColumnLocation) Reset() { *x = AddColumnLocation{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddColumnLocation) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddColumnLocation) ProtoMessage() {} func (x *AddColumnLocation) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[30] 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 AddColumnLocation.ProtoReflect.Descriptor instead. func (*AddColumnLocation) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{30} } func (x *AddColumnLocation) GetLocationType() AddColumnLocation_LocationType { if x != nil { return x.LocationType } return AddColumnLocation_FIRST } func (x *AddColumnLocation) GetAfterColumnName() string { if x != nil { return x.AfterColumnName } return "" } type SetFulltext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` Analyzer Analyzer `protobuf:"varint,3,opt,name=analyzer,proto3,enum=greptime.v1.Analyzer" json:"analyzer,omitempty"` CaseSensitive bool `protobuf:"varint,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` Backend FulltextBackend `protobuf:"varint,5,opt,name=backend,proto3,enum=greptime.v1.FulltextBackend" json:"backend,omitempty"` // The granularity for the fulltext index (for bloom backend only). Granularity uint64 `protobuf:"varint,6,opt,name=granularity,proto3" json:"granularity,omitempty"` // The false positive rate for the fulltext index (for bloom backend only). FalsePositiveRate float64 `protobuf:"fixed64,7,opt,name=false_positive_rate,json=falsePositiveRate,proto3" json:"false_positive_rate,omitempty"` } func (x *SetFulltext) Reset() { *x = SetFulltext{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetFulltext) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetFulltext) ProtoMessage() {} func (x *SetFulltext) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[31] 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 SetFulltext.ProtoReflect.Descriptor instead. func (*SetFulltext) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{31} } func (x *SetFulltext) GetColumnName() string { if x != nil { return x.ColumnName } return "" } func (x *SetFulltext) GetEnable() bool { if x != nil { return x.Enable } return false } func (x *SetFulltext) GetAnalyzer() Analyzer { if x != nil { return x.Analyzer } return Analyzer_ENGLISH } func (x *SetFulltext) GetCaseSensitive() bool { if x != nil { return x.CaseSensitive } return false } func (x *SetFulltext) GetBackend() FulltextBackend { if x != nil { return x.Backend } return FulltextBackend_TANTIVY } func (x *SetFulltext) GetGranularity() uint64 { if x != nil { return x.Granularity } return 0 } func (x *SetFulltext) GetFalsePositiveRate() float64 { if x != nil { return x.FalsePositiveRate } return 0 } type UnsetFulltext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` } func (x *UnsetFulltext) Reset() { *x = UnsetFulltext{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetFulltext) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetFulltext) ProtoMessage() {} func (x *UnsetFulltext) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[32] 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 UnsetFulltext.ProtoReflect.Descriptor instead. func (*UnsetFulltext) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{32} } func (x *UnsetFulltext) GetColumnName() string { if x != nil { return x.ColumnName } return "" } type SetInverted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` } func (x *SetInverted) Reset() { *x = SetInverted{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetInverted) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetInverted) ProtoMessage() {} func (x *SetInverted) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[33] 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 SetInverted.ProtoReflect.Descriptor instead. func (*SetInverted) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{33} } func (x *SetInverted) GetColumnName() string { if x != nil { return x.ColumnName } return "" } type UnsetInverted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` } func (x *UnsetInverted) Reset() { *x = UnsetInverted{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetInverted) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetInverted) ProtoMessage() {} func (x *UnsetInverted) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[34] 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 UnsetInverted.ProtoReflect.Descriptor instead. func (*UnsetInverted) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{34} } func (x *UnsetInverted) GetColumnName() string { if x != nil { return x.ColumnName } return "" } type SetSkipping struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` Granularity uint64 `protobuf:"varint,3,opt,name=granularity,proto3" json:"granularity,omitempty"` SkippingIndexType SkippingIndexType `protobuf:"varint,4,opt,name=skipping_index_type,json=skippingIndexType,proto3,enum=greptime.v1.SkippingIndexType" json:"skipping_index_type,omitempty"` FalsePositiveRate float64 `protobuf:"fixed64,5,opt,name=false_positive_rate,json=falsePositiveRate,proto3" json:"false_positive_rate,omitempty"` } func (x *SetSkipping) Reset() { *x = SetSkipping{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetSkipping) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetSkipping) ProtoMessage() {} func (x *SetSkipping) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[35] 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 SetSkipping.ProtoReflect.Descriptor instead. func (*SetSkipping) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{35} } func (x *SetSkipping) GetColumnName() string { if x != nil { return x.ColumnName } return "" } func (x *SetSkipping) GetEnable() bool { if x != nil { return x.Enable } return false } func (x *SetSkipping) GetGranularity() uint64 { if x != nil { return x.Granularity } return 0 } func (x *SetSkipping) GetSkippingIndexType() SkippingIndexType { if x != nil { return x.SkippingIndexType } return SkippingIndexType_BLOOM_FILTER } func (x *SetSkipping) GetFalsePositiveRate() float64 { if x != nil { return x.FalsePositiveRate } return 0 } type UnsetSkipping struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` } func (x *UnsetSkipping) Reset() { *x = UnsetSkipping{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetSkipping) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetSkipping) ProtoMessage() {} func (x *UnsetSkipping) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[36] 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 UnsetSkipping.ProtoReflect.Descriptor instead. func (*UnsetSkipping) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{36} } func (x *UnsetSkipping) GetColumnName() string { if x != nil { return x.ColumnName } return "" } type AlterDatabaseExpr 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"` // Types that are assignable to Kind: // // *AlterDatabaseExpr_SetDatabaseOptions // *AlterDatabaseExpr_UnsetDatabaseOptions Kind isAlterDatabaseExpr_Kind `protobuf_oneof:"kind"` } func (x *AlterDatabaseExpr) Reset() { *x = AlterDatabaseExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlterDatabaseExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlterDatabaseExpr) ProtoMessage() {} func (x *AlterDatabaseExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[37] 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 AlterDatabaseExpr.ProtoReflect.Descriptor instead. func (*AlterDatabaseExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{37} } func (x *AlterDatabaseExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *AlterDatabaseExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (m *AlterDatabaseExpr) GetKind() isAlterDatabaseExpr_Kind { if m != nil { return m.Kind } return nil } func (x *AlterDatabaseExpr) GetSetDatabaseOptions() *SetDatabaseOptions { if x, ok := x.GetKind().(*AlterDatabaseExpr_SetDatabaseOptions); ok { return x.SetDatabaseOptions } return nil } func (x *AlterDatabaseExpr) GetUnsetDatabaseOptions() *UnsetDatabaseOptions { if x, ok := x.GetKind().(*AlterDatabaseExpr_UnsetDatabaseOptions); ok { return x.UnsetDatabaseOptions } return nil } type isAlterDatabaseExpr_Kind interface { isAlterDatabaseExpr_Kind() } type AlterDatabaseExpr_SetDatabaseOptions struct { SetDatabaseOptions *SetDatabaseOptions `protobuf:"bytes,3,opt,name=set_database_options,json=setDatabaseOptions,proto3,oneof"` } type AlterDatabaseExpr_UnsetDatabaseOptions struct { UnsetDatabaseOptions *UnsetDatabaseOptions `protobuf:"bytes,4,opt,name=unset_database_options,json=unsetDatabaseOptions,proto3,oneof"` } func (*AlterDatabaseExpr_SetDatabaseOptions) isAlterDatabaseExpr_Kind() {} func (*AlterDatabaseExpr_UnsetDatabaseOptions) isAlterDatabaseExpr_Kind() {} type SetDatabaseOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SetDatabaseOptions []*Option `protobuf:"bytes,1,rep,name=set_database_options,json=setDatabaseOptions,proto3" json:"set_database_options,omitempty"` } func (x *SetDatabaseOptions) Reset() { *x = SetDatabaseOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetDatabaseOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetDatabaseOptions) ProtoMessage() {} func (x *SetDatabaseOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[38] 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 SetDatabaseOptions.ProtoReflect.Descriptor instead. func (*SetDatabaseOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{38} } func (x *SetDatabaseOptions) GetSetDatabaseOptions() []*Option { if x != nil { return x.SetDatabaseOptions } return nil } type UnsetDatabaseOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` } func (x *UnsetDatabaseOptions) Reset() { *x = UnsetDatabaseOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnsetDatabaseOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnsetDatabaseOptions) ProtoMessage() {} func (x *UnsetDatabaseOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[39] 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 UnsetDatabaseOptions.ProtoReflect.Descriptor instead. func (*UnsetDatabaseOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{39} } func (x *UnsetDatabaseOptions) GetKeys() []string { if x != nil { return x.Keys } return nil } // The create trigger expression. type CreateTriggerExpr 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"` TriggerName string `protobuf:"bytes,2,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"` CreateIfNotExists bool `protobuf:"varint,3,opt,name=create_if_not_exists,json=createIfNotExists,proto3" json:"create_if_not_exists,omitempty"` // The SQL statement to be executed periodically. Sql string `protobuf:"bytes,4,opt,name=sql,proto3" json:"sql,omitempty"` // The channels for sending notifications. Channels []*NotifyChannel `protobuf:"bytes,5,rep,name=channels,proto3" json:"channels,omitempty"` // The user-defined labels. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The user-defined annotations. Annotations map[string]string `protobuf:"bytes,7,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The execution interval for sql query in seconds. Interval uint64 `protobuf:"varint,8,opt,name=interval,proto3" json:"interval,omitempty"` } func (x *CreateTriggerExpr) Reset() { *x = CreateTriggerExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateTriggerExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateTriggerExpr) ProtoMessage() {} func (x *CreateTriggerExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[40] 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 CreateTriggerExpr.ProtoReflect.Descriptor instead. func (*CreateTriggerExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{40} } func (x *CreateTriggerExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateTriggerExpr) GetTriggerName() string { if x != nil { return x.TriggerName } return "" } func (x *CreateTriggerExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateTriggerExpr) GetSql() string { if x != nil { return x.Sql } return "" } func (x *CreateTriggerExpr) GetChannels() []*NotifyChannel { if x != nil { return x.Channels } return nil } func (x *CreateTriggerExpr) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *CreateTriggerExpr) GetAnnotations() map[string]string { if x != nil { return x.Annotations } return nil } func (x *CreateTriggerExpr) GetInterval() uint64 { if x != nil { return x.Interval } return 0 } // The notification channel for trigger. type NotifyChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to ChannelType: // // *NotifyChannel_Webhook ChannelType isNotifyChannel_ChannelType `protobuf_oneof:"channel_type"` } func (x *NotifyChannel) Reset() { *x = NotifyChannel{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotifyChannel) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotifyChannel) ProtoMessage() {} func (x *NotifyChannel) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[41] 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 NotifyChannel.ProtoReflect.Descriptor instead. func (*NotifyChannel) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{41} } func (x *NotifyChannel) GetName() string { if x != nil { return x.Name } return "" } func (m *NotifyChannel) GetChannelType() isNotifyChannel_ChannelType { if m != nil { return m.ChannelType } return nil } func (x *NotifyChannel) GetWebhook() *WebhookOptions { if x, ok := x.GetChannelType().(*NotifyChannel_Webhook); ok { return x.Webhook } return nil } type isNotifyChannel_ChannelType interface { isNotifyChannel_ChannelType() } type NotifyChannel_Webhook struct { Webhook *WebhookOptions `protobuf:"bytes,2,opt,name=webhook,proto3,oneof"` } func (*NotifyChannel_Webhook) isNotifyChannel_ChannelType() {} // The options for webhook. type WebhookOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` Opts map[string]string `protobuf:"bytes,2,rep,name=opts,proto3" json:"opts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *WebhookOptions) Reset() { *x = WebhookOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WebhookOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*WebhookOptions) ProtoMessage() {} func (x *WebhookOptions) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[42] 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 WebhookOptions.ProtoReflect.Descriptor instead. func (*WebhookOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{42} } func (x *WebhookOptions) GetUrl() string { if x != nil { return x.Url } return "" } func (x *WebhookOptions) GetOpts() map[string]string { if x != nil { return x.Opts } return nil } type DropTriggerExpr 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"` TriggerName string `protobuf:"bytes,2,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"` DropIfExists bool `protobuf:"varint,3,opt,name=drop_if_exists,json=dropIfExists,proto3" json:"drop_if_exists,omitempty"` } func (x *DropTriggerExpr) Reset() { *x = DropTriggerExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropTriggerExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropTriggerExpr) ProtoMessage() {} func (x *DropTriggerExpr) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[43] 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 DropTriggerExpr.ProtoReflect.Descriptor instead. func (*DropTriggerExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{43} } func (x *DropTriggerExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropTriggerExpr) GetTriggerName() string { if x != nil { return x.TriggerName } return "" } func (x *DropTriggerExpr) GetDropIfExists() bool { if x != nil { return x.DropIfExists } return false } var File_greptime_v1_ddl_proto protoreflect.FileDescriptor var file_greptime_v1_ddl_proto_rawDesc = []byte{ 0x0a, 0x15, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x64, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x1a, 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, 0x22, 0xa6, 0x05, 0x0a, 0x0a, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x56, 0x69, 0x65, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 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, 0x1b, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x4f, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x46, 0x6c, 0x6f, 0x77, 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, 0xa2, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 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, 0x1b, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x52, 0x06, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x45, 0x78, 0x70, 0x72, 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, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x56, 0x69, 0x65, 0x77, 0x45, 0x78, 0x70, 0x72, 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, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x06, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 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, <<<<<<< HEAD 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7, 0x06, 0x0a, 0x0e, 0x41, 0x6c, ======= 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x06, 0x0a, 0x0e, 0x41, 0x6c, >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x50, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3a, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, <<<<<<< HEAD 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2e, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x0c, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x38, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0xa7, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x4d, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x62, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 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, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 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, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0x4b, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x06, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 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, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 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, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x22, 0xaa, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2e, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x53, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x16, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x5b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x82, 0x04, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 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, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 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, 0x6c, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x4f, 0x70, 0x74, 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, 0x7d, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 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, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2a, 0x24, 0x0a, 0x08, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x29, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x56, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x10, 0x01, 0x2a, 0x25, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 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, ======= 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x2e, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x38, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0xa7, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x12, 0x2f, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x4d, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x62, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 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, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 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, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0x4b, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x20, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x06, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 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, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 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, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x22, 0xaa, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2e, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0x30, 0x0a, 0x0d, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 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, 0x53, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x16, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x14, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x5b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x82, 0x04, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 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, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 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, 0x6c, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x4f, 0x70, 0x74, 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, 0x7d, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 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, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2a, 0x24, 0x0a, 0x08, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x29, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x78, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x56, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x10, 0x01, 0x2a, 0x25, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 0x42, 0x4c, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x03, 0x44, 0x64, 0x6c, 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, >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } var ( file_greptime_v1_ddl_proto_rawDescOnce sync.Once file_greptime_v1_ddl_proto_rawDescData = file_greptime_v1_ddl_proto_rawDesc ) func file_greptime_v1_ddl_proto_rawDescGZIP() []byte { file_greptime_v1_ddl_proto_rawDescOnce.Do(func() { file_greptime_v1_ddl_proto_rawDescData = protoimpl.X.CompressGZIP(file_greptime_v1_ddl_proto_rawDescData) }) return file_greptime_v1_ddl_proto_rawDescData } var file_greptime_v1_ddl_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 50) var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (Analyzer)(0), // 0: greptime.v1.Analyzer (FulltextBackend)(0), // 1: greptime.v1.FulltextBackend (SkippingIndexType)(0), // 2: greptime.v1.SkippingIndexType (AddColumnLocation_LocationType)(0), // 3: greptime.v1.AddColumnLocation.LocationType (*DdlRequest)(nil), // 4: greptime.v1.DdlRequest (*CreateFlowExpr)(nil), // 5: greptime.v1.CreateFlowExpr (*DropFlowExpr)(nil), // 6: greptime.v1.DropFlowExpr (*CreateViewExpr)(nil), // 7: greptime.v1.CreateViewExpr (*DropViewExpr)(nil), // 8: greptime.v1.DropViewExpr (*CreateTableExpr)(nil), // 9: greptime.v1.CreateTableExpr (*AlterTableExpr)(nil), // 10: greptime.v1.AlterTableExpr (*DropDefault)(nil), // 11: greptime.v1.DropDefault <<<<<<< HEAD (*SetIndexes)(nil), // 12: greptime.v1.SetIndexes (*UnsetIndexes)(nil), // 13: greptime.v1.UnsetIndexes (*SetIndex)(nil), // 14: greptime.v1.SetIndex (*UnsetIndex)(nil), // 15: greptime.v1.UnsetIndex (*DropTableExpr)(nil), // 16: greptime.v1.DropTableExpr (*CreateDatabaseExpr)(nil), // 17: greptime.v1.CreateDatabaseExpr (*TruncateTableExpr)(nil), // 18: greptime.v1.TruncateTableExpr (*DropDatabaseExpr)(nil), // 19: greptime.v1.DropDatabaseExpr (*AddColumns)(nil), // 20: greptime.v1.AddColumns (*DropDefaults)(nil), // 21: greptime.v1.DropDefaults ======= (*SetDefault)(nil), // 12: greptime.v1.SetDefault (*SetIndex)(nil), // 13: greptime.v1.SetIndex (*UnsetIndex)(nil), // 14: greptime.v1.UnsetIndex (*DropTableExpr)(nil), // 15: greptime.v1.DropTableExpr (*CreateDatabaseExpr)(nil), // 16: greptime.v1.CreateDatabaseExpr (*TruncateTableExpr)(nil), // 17: greptime.v1.TruncateTableExpr (*DropDatabaseExpr)(nil), // 18: greptime.v1.DropDatabaseExpr (*AddColumns)(nil), // 19: greptime.v1.AddColumns (*DropDefaults)(nil), // 20: greptime.v1.DropDefaults (*SetDefaults)(nil), // 21: greptime.v1.SetDefaults >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) (*DropColumns)(nil), // 22: greptime.v1.DropColumns (*ModifyColumnTypes)(nil), // 23: greptime.v1.ModifyColumnTypes (*RenameTable)(nil), // 24: greptime.v1.RenameTable (*AddColumn)(nil), // 25: greptime.v1.AddColumn (*ModifyColumnType)(nil), // 26: greptime.v1.ModifyColumnType (*Option)(nil), // 27: greptime.v1.Option (*SetTableOptions)(nil), // 28: greptime.v1.SetTableOptions (*UnsetTableOptions)(nil), // 29: greptime.v1.UnsetTableOptions (*DropColumn)(nil), // 30: greptime.v1.DropColumn (*TableId)(nil), // 31: greptime.v1.TableId (*FlowId)(nil), // 32: greptime.v1.FlowId (*ColumnDef)(nil), // 33: greptime.v1.ColumnDef (*AddColumnLocation)(nil), // 34: greptime.v1.AddColumnLocation (*SetFulltext)(nil), // 35: greptime.v1.SetFulltext (*UnsetFulltext)(nil), // 36: greptime.v1.UnsetFulltext (*SetInverted)(nil), // 37: greptime.v1.SetInverted (*UnsetInverted)(nil), // 38: greptime.v1.UnsetInverted (*SetSkipping)(nil), // 39: greptime.v1.SetSkipping (*UnsetSkipping)(nil), // 40: greptime.v1.UnsetSkipping (*AlterDatabaseExpr)(nil), // 41: greptime.v1.AlterDatabaseExpr (*SetDatabaseOptions)(nil), // 42: greptime.v1.SetDatabaseOptions (*UnsetDatabaseOptions)(nil), // 43: greptime.v1.UnsetDatabaseOptions (*CreateTriggerExpr)(nil), // 44: greptime.v1.CreateTriggerExpr (*NotifyChannel)(nil), // 45: greptime.v1.NotifyChannel (*WebhookOptions)(nil), // 46: greptime.v1.WebhookOptions (*DropTriggerExpr)(nil), // 47: greptime.v1.DropTriggerExpr nil, // 48: greptime.v1.CreateFlowExpr.FlowOptionsEntry nil, // 49: greptime.v1.CreateTableExpr.TableOptionsEntry nil, // 50: greptime.v1.CreateDatabaseExpr.OptionsEntry nil, // 51: greptime.v1.CreateTriggerExpr.LabelsEntry nil, // 52: greptime.v1.CreateTriggerExpr.AnnotationsEntry nil, // 53: greptime.v1.WebhookOptions.OptsEntry (*TableName)(nil), // 54: greptime.v1.TableName (*ExpireAfter)(nil), // 55: greptime.v1.ExpireAfter (ColumnDataType)(0), // 56: greptime.v1.ColumnDataType (*ColumnDataTypeExtension)(nil), // 57: greptime.v1.ColumnDataTypeExtension (SemanticType)(0), // 58: greptime.v1.SemanticType (*ColumnOptions)(nil), // 59: greptime.v1.ColumnOptions } var file_greptime_v1_ddl_proto_depIdxs = []int32{ <<<<<<< HEAD 17, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr 9, // 1: greptime.v1.DdlRequest.create_table:type_name -> greptime.v1.CreateTableExpr 10, // 2: greptime.v1.DdlRequest.alter_table:type_name -> greptime.v1.AlterTableExpr 16, // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr 18, // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr ======= 16, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr 9, // 1: greptime.v1.DdlRequest.create_table:type_name -> greptime.v1.CreateTableExpr 10, // 2: greptime.v1.DdlRequest.alter_table:type_name -> greptime.v1.AlterTableExpr 15, // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr 17, // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 5, // 5: greptime.v1.DdlRequest.create_flow:type_name -> greptime.v1.CreateFlowExpr 6, // 6: greptime.v1.DdlRequest.drop_flow:type_name -> greptime.v1.DropFlowExpr 7, // 7: greptime.v1.DdlRequest.create_view:type_name -> greptime.v1.CreateViewExpr 8, // 8: greptime.v1.DdlRequest.drop_view:type_name -> greptime.v1.DropViewExpr 41, // 9: greptime.v1.DdlRequest.alter_database:type_name -> greptime.v1.AlterDatabaseExpr 54, // 10: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName 54, // 11: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName 55, // 12: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter 48, // 13: greptime.v1.CreateFlowExpr.flow_options:type_name -> greptime.v1.CreateFlowExpr.FlowOptionsEntry 32, // 14: greptime.v1.DropFlowExpr.flow_id:type_name -> greptime.v1.FlowId 54, // 15: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName 31, // 16: greptime.v1.DropViewExpr.view_id:type_name -> greptime.v1.TableId 33, // 17: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef 49, // 18: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry 31, // 19: greptime.v1.CreateTableExpr.table_id:type_name -> greptime.v1.TableId <<<<<<< HEAD 20, // 20: greptime.v1.AlterTableExpr.add_columns:type_name -> greptime.v1.AddColumns ======= 19, // 20: greptime.v1.AlterTableExpr.add_columns:type_name -> greptime.v1.AddColumns >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) 22, // 21: greptime.v1.AlterTableExpr.drop_columns:type_name -> greptime.v1.DropColumns 24, // 22: greptime.v1.AlterTableExpr.rename_table:type_name -> greptime.v1.RenameTable 23, // 23: greptime.v1.AlterTableExpr.modify_column_types:type_name -> greptime.v1.ModifyColumnTypes 28, // 24: greptime.v1.AlterTableExpr.set_table_options:type_name -> greptime.v1.SetTableOptions 29, // 25: greptime.v1.AlterTableExpr.unset_table_options:type_name -> greptime.v1.UnsetTableOptions <<<<<<< HEAD 14, // 26: greptime.v1.AlterTableExpr.set_index:type_name -> greptime.v1.SetIndex 15, // 27: greptime.v1.AlterTableExpr.unset_index:type_name -> greptime.v1.UnsetIndex 21, // 28: greptime.v1.AlterTableExpr.drop_defaults:type_name -> greptime.v1.DropDefaults 12, // 29: greptime.v1.AlterTableExpr.set_indexes:type_name -> greptime.v1.SetIndexes 13, // 30: greptime.v1.AlterTableExpr.unset_indexes:type_name -> greptime.v1.UnsetIndexes 14, // 31: greptime.v1.SetIndexes.set_indexes:type_name -> greptime.v1.SetIndex 15, // 32: greptime.v1.UnsetIndexes.unset_indexes:type_name -> greptime.v1.UnsetIndex 35, // 33: greptime.v1.SetIndex.fulltext:type_name -> greptime.v1.SetFulltext 37, // 34: greptime.v1.SetIndex.inverted:type_name -> greptime.v1.SetInverted 39, // 35: greptime.v1.SetIndex.skipping:type_name -> greptime.v1.SetSkipping 36, // 36: greptime.v1.UnsetIndex.fulltext:type_name -> greptime.v1.UnsetFulltext 38, // 37: greptime.v1.UnsetIndex.inverted:type_name -> greptime.v1.UnsetInverted 40, // 38: greptime.v1.UnsetIndex.skipping:type_name -> greptime.v1.UnsetSkipping 31, // 39: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId 50, // 40: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry 31, // 41: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId 25, // 42: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn 11, // 43: greptime.v1.DropDefaults.drop_defaults:type_name -> greptime.v1.DropDefault 30, // 44: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn 26, // 45: greptime.v1.ModifyColumnTypes.modify_column_types:type_name -> greptime.v1.ModifyColumnType 33, // 46: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 34, // 47: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation 56, // 48: greptime.v1.ModifyColumnType.target_type:type_name -> greptime.v1.ColumnDataType 57, // 49: greptime.v1.ModifyColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension 27, // 50: greptime.v1.SetTableOptions.table_options:type_name -> greptime.v1.Option 56, // 51: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType 58, // 52: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType 57, // 53: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 59, // 54: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnOptions 3, // 55: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 0, // 56: greptime.v1.SetFulltext.analyzer:type_name -> greptime.v1.Analyzer 1, // 57: greptime.v1.SetFulltext.backend:type_name -> greptime.v1.FulltextBackend 2, // 58: greptime.v1.SetSkipping.skipping_index_type:type_name -> greptime.v1.SkippingIndexType 42, // 59: greptime.v1.AlterDatabaseExpr.set_database_options:type_name -> greptime.v1.SetDatabaseOptions 43, // 60: greptime.v1.AlterDatabaseExpr.unset_database_options:type_name -> greptime.v1.UnsetDatabaseOptions 27, // 61: greptime.v1.SetDatabaseOptions.set_database_options:type_name -> greptime.v1.Option 45, // 62: greptime.v1.CreateTriggerExpr.channels:type_name -> greptime.v1.NotifyChannel 51, // 63: greptime.v1.CreateTriggerExpr.labels:type_name -> greptime.v1.CreateTriggerExpr.LabelsEntry 52, // 64: greptime.v1.CreateTriggerExpr.annotations:type_name -> greptime.v1.CreateTriggerExpr.AnnotationsEntry 46, // 65: greptime.v1.NotifyChannel.webhook:type_name -> greptime.v1.WebhookOptions 53, // 66: greptime.v1.WebhookOptions.opts:type_name -> greptime.v1.WebhookOptions.OptsEntry 67, // [67:67] is the sub-list for method output_type 67, // [67:67] is the sub-list for method input_type 67, // [67:67] is the sub-list for extension type_name 67, // [67:67] is the sub-list for extension extendee 0, // [0:67] is the sub-list for field type_name ======= 13, // 26: greptime.v1.AlterTableExpr.set_index:type_name -> greptime.v1.SetIndex 14, // 27: greptime.v1.AlterTableExpr.unset_index:type_name -> greptime.v1.UnsetIndex 20, // 28: greptime.v1.AlterTableExpr.drop_defaults:type_name -> greptime.v1.DropDefaults 21, // 29: greptime.v1.AlterTableExpr.set_defaults:type_name -> greptime.v1.SetDefaults 35, // 30: greptime.v1.SetIndex.fulltext:type_name -> greptime.v1.SetFulltext 37, // 31: greptime.v1.SetIndex.inverted:type_name -> greptime.v1.SetInverted 39, // 32: greptime.v1.SetIndex.skipping:type_name -> greptime.v1.SetSkipping 36, // 33: greptime.v1.UnsetIndex.fulltext:type_name -> greptime.v1.UnsetFulltext 38, // 34: greptime.v1.UnsetIndex.inverted:type_name -> greptime.v1.UnsetInverted 40, // 35: greptime.v1.UnsetIndex.skipping:type_name -> greptime.v1.UnsetSkipping 31, // 36: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId 50, // 37: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry 31, // 38: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId 25, // 39: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn 11, // 40: greptime.v1.DropDefaults.drop_defaults:type_name -> greptime.v1.DropDefault 12, // 41: greptime.v1.SetDefaults.set_defaults:type_name -> greptime.v1.SetDefault 30, // 42: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn 26, // 43: greptime.v1.ModifyColumnTypes.modify_column_types:type_name -> greptime.v1.ModifyColumnType 33, // 44: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 34, // 45: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation 56, // 46: greptime.v1.ModifyColumnType.target_type:type_name -> greptime.v1.ColumnDataType 57, // 47: greptime.v1.ModifyColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension 27, // 48: greptime.v1.SetTableOptions.table_options:type_name -> greptime.v1.Option 56, // 49: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType 58, // 50: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType 57, // 51: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 59, // 52: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnOptions 3, // 53: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 0, // 54: greptime.v1.SetFulltext.analyzer:type_name -> greptime.v1.Analyzer 1, // 55: greptime.v1.SetFulltext.backend:type_name -> greptime.v1.FulltextBackend 2, // 56: greptime.v1.SetSkipping.skipping_index_type:type_name -> greptime.v1.SkippingIndexType 42, // 57: greptime.v1.AlterDatabaseExpr.set_database_options:type_name -> greptime.v1.SetDatabaseOptions 43, // 58: greptime.v1.AlterDatabaseExpr.unset_database_options:type_name -> greptime.v1.UnsetDatabaseOptions 27, // 59: greptime.v1.SetDatabaseOptions.set_database_options:type_name -> greptime.v1.Option 45, // 60: greptime.v1.CreateTriggerExpr.channels:type_name -> greptime.v1.NotifyChannel 51, // 61: greptime.v1.CreateTriggerExpr.labels:type_name -> greptime.v1.CreateTriggerExpr.LabelsEntry 52, // 62: greptime.v1.CreateTriggerExpr.annotations:type_name -> greptime.v1.CreateTriggerExpr.AnnotationsEntry 46, // 63: greptime.v1.NotifyChannel.webhook:type_name -> greptime.v1.WebhookOptions 53, // 64: greptime.v1.WebhookOptions.opts:type_name -> greptime.v1.WebhookOptions.OptsEntry 65, // [65:65] is the sub-list for method output_type 65, // [65:65] is the sub-list for method input_type 65, // [65:65] is the sub-list for extension type_name 65, // [65:65] is the sub-list for extension extendee 0, // [0:65] is the sub-list for field type_name >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) } func init() { file_greptime_v1_ddl_proto_init() } func file_greptime_v1_ddl_proto_init() { if File_greptime_v1_ddl_proto != nil { return } file_greptime_v1_common_proto_init() if !protoimpl.UnsafeEnabled { file_greptime_v1_ddl_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DdlRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateFlowExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropFlowExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateViewExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropViewExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTableExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTableExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropDefault); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*SetIndexes); i { ======= switch v := v.(*SetDefault); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*UnsetIndexes); i { ======= switch v := v.(*SetIndex); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*SetIndex); i { ======= switch v := v.(*UnsetIndex); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*UnsetIndex); i { ======= switch v := v.(*DropTableExpr); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*DropTableExpr); i { ======= switch v := v.(*CreateDatabaseExpr); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*CreateDatabaseExpr); i { ======= switch v := v.(*TruncateTableExpr); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*TruncateTableExpr); i { ======= switch v := v.(*DropDatabaseExpr); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*DropDatabaseExpr); i { ======= switch v := v.(*AddColumns); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*AddColumns); i { ======= switch v := v.(*DropDefaults); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { <<<<<<< HEAD switch v := v.(*DropDefaults); i { ======= switch v := v.(*SetDefaults); i { >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropColumns); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ModifyColumnTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenameTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddColumn); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ModifyColumnType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Option); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTableOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnsetTableOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropColumn); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FlowId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ColumnDef); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddColumnLocation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetFulltext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnsetFulltext); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetInverted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnsetInverted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSkipping); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnsetSkipping); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDatabaseExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDatabaseOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnsetDatabaseOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTriggerExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotifyChannel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WebhookOptions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_greptime_v1_ddl_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropTriggerExpr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_greptime_v1_ddl_proto_msgTypes[0].OneofWrappers = []interface{}{ (*DdlRequest_CreateDatabase)(nil), (*DdlRequest_CreateTable)(nil), (*DdlRequest_AlterTable)(nil), (*DdlRequest_DropTable)(nil), (*DdlRequest_TruncateTable)(nil), (*DdlRequest_CreateFlow)(nil), (*DdlRequest_DropFlow)(nil), (*DdlRequest_CreateView)(nil), (*DdlRequest_DropView)(nil), (*DdlRequest_AlterDatabase)(nil), } file_greptime_v1_ddl_proto_msgTypes[6].OneofWrappers = []interface{}{ (*AlterTableExpr_AddColumns)(nil), (*AlterTableExpr_DropColumns)(nil), (*AlterTableExpr_RenameTable)(nil), (*AlterTableExpr_ModifyColumnTypes)(nil), (*AlterTableExpr_SetTableOptions)(nil), (*AlterTableExpr_UnsetTableOptions)(nil), (*AlterTableExpr_SetIndex)(nil), (*AlterTableExpr_UnsetIndex)(nil), (*AlterTableExpr_DropDefaults)(nil), <<<<<<< HEAD (*AlterTableExpr_SetIndexes)(nil), (*AlterTableExpr_UnsetIndexes)(nil), } file_greptime_v1_ddl_proto_msgTypes[10].OneofWrappers = []interface{}{ ======= (*AlterTableExpr_SetDefaults)(nil), } file_greptime_v1_ddl_proto_msgTypes[9].OneofWrappers = []interface{}{ >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) (*SetIndex_Fulltext)(nil), (*SetIndex_Inverted)(nil), (*SetIndex_Skipping)(nil), } <<<<<<< HEAD file_greptime_v1_ddl_proto_msgTypes[11].OneofWrappers = []interface{}{ ======= file_greptime_v1_ddl_proto_msgTypes[10].OneofWrappers = []interface{}{ >>>>>>> e6b7ed7 (feat: Support `SET DEFAULT` syntax) (*UnsetIndex_Fulltext)(nil), (*UnsetIndex_Inverted)(nil), (*UnsetIndex_Skipping)(nil), } file_greptime_v1_ddl_proto_msgTypes[37].OneofWrappers = []interface{}{ (*AlterDatabaseExpr_SetDatabaseOptions)(nil), (*AlterDatabaseExpr_UnsetDatabaseOptions)(nil), } file_greptime_v1_ddl_proto_msgTypes[41].OneofWrappers = []interface{}{ (*NotifyChannel_Webhook)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_ddl_proto_rawDesc, NumEnums: 4, NumMessages: 50, NumExtensions: 0, NumServices: 0, }, GoTypes: file_greptime_v1_ddl_proto_goTypes, DependencyIndexes: file_greptime_v1_ddl_proto_depIdxs, EnumInfos: file_greptime_v1_ddl_proto_enumTypes, MessageInfos: file_greptime_v1_ddl_proto_msgTypes, }.Build() File_greptime_v1_ddl_proto = out.File file_greptime_v1_ddl_proto_rawDesc = nil file_greptime_v1_ddl_proto_goTypes = nil file_greptime_v1_ddl_proto_depIdxs = nil }