// 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 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[0].Descriptor() } func (AddColumnLocation_LocationType) Type() protoreflect.EnumType { return &file_greptime_v1_ddl_proto_enumTypes[0] } 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{23, 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_Alter // *DdlRequest_DropTable // *DdlRequest_TruncateTable // *DdlRequest_CreateFlow // *DdlRequest_DropFlow // *DdlRequest_CreateView // *DdlRequest_DropView 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) GetAlter() *AlterExpr { if x, ok := x.GetExpr().(*DdlRequest_Alter); ok { return x.Alter } 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 } 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_Alter struct { Alter *AlterExpr `protobuf:"bytes,3,opt,name=alter,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"` } func (*DdlRequest_CreateDatabase) isDdlRequest_Expr() {} func (*DdlRequest_CreateTable) isDdlRequest_Expr() {} func (*DdlRequest_Alter) 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() {} // 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 AlterExpr 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: // // *AlterExpr_AddColumns // *AlterExpr_DropColumns // *AlterExpr_RenameTable // *AlterExpr_ChangeColumnTypes // *AlterExpr_ChangeTableOptions Kind isAlterExpr_Kind `protobuf_oneof:"kind"` } func (x *AlterExpr) Reset() { *x = AlterExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AlterExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*AlterExpr) ProtoMessage() {} func (x *AlterExpr) 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 AlterExpr.ProtoReflect.Descriptor instead. func (*AlterExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{6} } func (x *AlterExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *AlterExpr) GetSchemaName() string { if x != nil { return x.SchemaName } return "" } func (x *AlterExpr) GetTableName() string { if x != nil { return x.TableName } return "" } func (m *AlterExpr) GetKind() isAlterExpr_Kind { if m != nil { return m.Kind } return nil } func (x *AlterExpr) GetAddColumns() *AddColumns { if x, ok := x.GetKind().(*AlterExpr_AddColumns); ok { return x.AddColumns } return nil } func (x *AlterExpr) GetDropColumns() *DropColumns { if x, ok := x.GetKind().(*AlterExpr_DropColumns); ok { return x.DropColumns } return nil } func (x *AlterExpr) GetRenameTable() *RenameTable { if x, ok := x.GetKind().(*AlterExpr_RenameTable); ok { return x.RenameTable } return nil } func (x *AlterExpr) GetChangeColumnTypes() *ChangeColumnTypes { if x, ok := x.GetKind().(*AlterExpr_ChangeColumnTypes); ok { return x.ChangeColumnTypes } return nil } func (x *AlterExpr) GetChangeTableOptions() *ChangeTableOptions { if x, ok := x.GetKind().(*AlterExpr_ChangeTableOptions); ok { return x.ChangeTableOptions } return nil } type isAlterExpr_Kind interface { isAlterExpr_Kind() } type AlterExpr_AddColumns struct { AddColumns *AddColumns `protobuf:"bytes,4,opt,name=add_columns,json=addColumns,proto3,oneof"` } type AlterExpr_DropColumns struct { DropColumns *DropColumns `protobuf:"bytes,5,opt,name=drop_columns,json=dropColumns,proto3,oneof"` } type AlterExpr_RenameTable struct { RenameTable *RenameTable `protobuf:"bytes,6,opt,name=rename_table,json=renameTable,proto3,oneof"` } type AlterExpr_ChangeColumnTypes struct { ChangeColumnTypes *ChangeColumnTypes `protobuf:"bytes,7,opt,name=change_column_types,json=changeColumnTypes,proto3,oneof"` } type AlterExpr_ChangeTableOptions struct { ChangeTableOptions *ChangeTableOptions `protobuf:"bytes,8,opt,name=change_table_options,json=changeTableOptions,proto3,oneof"` } func (*AlterExpr_AddColumns) isAlterExpr_Kind() {} func (*AlterExpr_DropColumns) isAlterExpr_Kind() {} func (*AlterExpr_RenameTable) isAlterExpr_Kind() {} func (*AlterExpr_ChangeColumnTypes) isAlterExpr_Kind() {} func (*AlterExpr_ChangeTableOptions) isAlterExpr_Kind() {} 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[7] 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 { 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 DropTableExpr.ProtoReflect.Descriptor instead. func (*DropTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{7} } 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[8] 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 { 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) } // Deprecated: Use CreateDatabaseExpr.ProtoReflect.Descriptor instead. func (*CreateDatabaseExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{8} } 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[9] 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 { 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 TruncateTableExpr.ProtoReflect.Descriptor instead. func (*TruncateTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9} } 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[10] 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DropDatabaseExpr.ProtoReflect.Descriptor instead. func (*DropDatabaseExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{10} } 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[11] 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 { mi := &file_greptime_v1_ddl_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddColumns.ProtoReflect.Descriptor instead. func (*AddColumns) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{11} } func (x *AddColumns) GetAddColumns() []*AddColumn { if x != nil { return x.AddColumns } 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[12] 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[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DropColumns.ProtoReflect.Descriptor instead. func (*DropColumns) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12} } func (x *DropColumns) GetDropColumns() []*DropColumn { if x != nil { return x.DropColumns } return nil } type ChangeColumnTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChangeColumnTypes []*ChangeColumnType `protobuf:"bytes,1,rep,name=change_column_types,json=changeColumnTypes,proto3" json:"change_column_types,omitempty"` } func (x *ChangeColumnTypes) Reset() { *x = ChangeColumnTypes{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeColumnTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeColumnTypes) ProtoMessage() {} func (x *ChangeColumnTypes) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangeColumnTypes.ProtoReflect.Descriptor instead. func (*ChangeColumnTypes) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13} } func (x *ChangeColumnTypes) GetChangeColumnTypes() []*ChangeColumnType { if x != nil { return x.ChangeColumnTypes } 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[14] 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[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RenameTable.ProtoReflect.Descriptor instead. func (*RenameTable) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{14} } 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"` } func (x *AddColumn) Reset() { *x = AddColumn{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[15] 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[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddColumn.ProtoReflect.Descriptor instead. func (*AddColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{15} } 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 } type ChangeColumnType 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 *ChangeColumnType) Reset() { *x = ChangeColumnType{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeColumnType) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeColumnType) ProtoMessage() {} func (x *ChangeColumnType) ProtoReflect() protoreflect.Message { mi := &file_greptime_v1_ddl_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangeColumnType.ProtoReflect.Descriptor instead. func (*ChangeColumnType) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{16} } func (x *ChangeColumnType) GetColumnName() string { if x != nil { return x.ColumnName } return "" } func (x *ChangeColumnType) GetTargetType() ColumnDataType { if x != nil { return x.TargetType } return ColumnDataType_BOOLEAN } func (x *ChangeColumnType) GetTargetTypeExtension() *ColumnDataTypeExtension { if x != nil { return x.TargetTypeExtension } return nil } type ChangeTableOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChangeTableOptions []*ChangeTableOption `protobuf:"bytes,1,rep,name=change_table_options,json=changeTableOptions,proto3" json:"change_table_options,omitempty"` } func (x *ChangeTableOptions) Reset() { *x = ChangeTableOptions{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeTableOptions) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeTableOptions) ProtoMessage() {} func (x *ChangeTableOptions) 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 ChangeTableOptions.ProtoReflect.Descriptor instead. func (*ChangeTableOptions) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{17} } func (x *ChangeTableOptions) GetChangeTableOptions() []*ChangeTableOption { if x != nil { return x.ChangeTableOptions } return nil } type ChangeTableOption 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 *ChangeTableOption) Reset() { *x = ChangeTableOption{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeTableOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeTableOption) ProtoMessage() {} func (x *ChangeTableOption) 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 ChangeTableOption.ProtoReflect.Descriptor instead. func (*ChangeTableOption) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{18} } func (x *ChangeTableOption) GetKey() string { if x != nil { return x.Key } return "" } func (x *ChangeTableOption) GetValue() string { if x != nil { return x.Value } return "" } 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[19] 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[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 DropColumn.ProtoReflect.Descriptor instead. func (*DropColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{19} } 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[20] 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[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 TableId.ProtoReflect.Descriptor instead. func (*TableId) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{20} } 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[21] 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[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 FlowId.ProtoReflect.Descriptor instead. func (*FlowId) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{21} } 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[22] 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[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 ColumnDef.ProtoReflect.Descriptor instead. func (*ColumnDef) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{22} } 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[23] 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[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 AddColumnLocation.ProtoReflect.Descriptor instead. func (*AddColumnLocation) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{23} } 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 "" } 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, 0xcd, 0x04, 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, 0x2e, 0x0a, 0x05, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x05, 0x61, 0x6c, 0x74, 0x65, 0x72, 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, 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, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7, 0x03, 0x0a, 0x09, 0x41, 0x6c, 0x74, 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, 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, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 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, 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, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x7e, 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, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x66, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 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, 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, 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, } 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, 1) var file_greptime_v1_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType (*DdlRequest)(nil), // 1: greptime.v1.DdlRequest (*CreateFlowExpr)(nil), // 2: greptime.v1.CreateFlowExpr (*DropFlowExpr)(nil), // 3: greptime.v1.DropFlowExpr (*CreateViewExpr)(nil), // 4: greptime.v1.CreateViewExpr (*DropViewExpr)(nil), // 5: greptime.v1.DropViewExpr (*CreateTableExpr)(nil), // 6: greptime.v1.CreateTableExpr (*AlterExpr)(nil), // 7: greptime.v1.AlterExpr (*DropTableExpr)(nil), // 8: greptime.v1.DropTableExpr (*CreateDatabaseExpr)(nil), // 9: greptime.v1.CreateDatabaseExpr (*TruncateTableExpr)(nil), // 10: greptime.v1.TruncateTableExpr (*DropDatabaseExpr)(nil), // 11: greptime.v1.DropDatabaseExpr (*AddColumns)(nil), // 12: greptime.v1.AddColumns (*DropColumns)(nil), // 13: greptime.v1.DropColumns (*ChangeColumnTypes)(nil), // 14: greptime.v1.ChangeColumnTypes (*RenameTable)(nil), // 15: greptime.v1.RenameTable (*AddColumn)(nil), // 16: greptime.v1.AddColumn (*ChangeColumnType)(nil), // 17: greptime.v1.ChangeColumnType (*ChangeTableOptions)(nil), // 18: greptime.v1.ChangeTableOptions (*ChangeTableOption)(nil), // 19: greptime.v1.ChangeTableOption (*DropColumn)(nil), // 20: greptime.v1.DropColumn (*TableId)(nil), // 21: greptime.v1.TableId (*FlowId)(nil), // 22: greptime.v1.FlowId (*ColumnDef)(nil), // 23: greptime.v1.ColumnDef (*AddColumnLocation)(nil), // 24: greptime.v1.AddColumnLocation nil, // 25: greptime.v1.CreateFlowExpr.FlowOptionsEntry nil, // 26: greptime.v1.CreateTableExpr.TableOptionsEntry nil, // 27: greptime.v1.CreateDatabaseExpr.OptionsEntry (*TableName)(nil), // 28: greptime.v1.TableName (*ExpireAfter)(nil), // 29: greptime.v1.ExpireAfter (ColumnDataType)(0), // 30: greptime.v1.ColumnDataType (*ColumnDataTypeExtension)(nil), // 31: greptime.v1.ColumnDataTypeExtension (SemanticType)(0), // 32: greptime.v1.SemanticType (*ColumnOptions)(nil), // 33: greptime.v1.ColumnOptions } var file_greptime_v1_ddl_proto_depIdxs = []int32{ 9, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr 6, // 1: greptime.v1.DdlRequest.create_table:type_name -> greptime.v1.CreateTableExpr 7, // 2: greptime.v1.DdlRequest.alter:type_name -> greptime.v1.AlterExpr 8, // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr 10, // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr 2, // 5: greptime.v1.DdlRequest.create_flow:type_name -> greptime.v1.CreateFlowExpr 3, // 6: greptime.v1.DdlRequest.drop_flow:type_name -> greptime.v1.DropFlowExpr 4, // 7: greptime.v1.DdlRequest.create_view:type_name -> greptime.v1.CreateViewExpr 5, // 8: greptime.v1.DdlRequest.drop_view:type_name -> greptime.v1.DropViewExpr 28, // 9: greptime.v1.CreateFlowExpr.source_table_names:type_name -> greptime.v1.TableName 28, // 10: greptime.v1.CreateFlowExpr.sink_table_name:type_name -> greptime.v1.TableName 29, // 11: greptime.v1.CreateFlowExpr.expire_after:type_name -> greptime.v1.ExpireAfter 25, // 12: greptime.v1.CreateFlowExpr.flow_options:type_name -> greptime.v1.CreateFlowExpr.FlowOptionsEntry 22, // 13: greptime.v1.DropFlowExpr.flow_id:type_name -> greptime.v1.FlowId 28, // 14: greptime.v1.CreateViewExpr.table_names:type_name -> greptime.v1.TableName 21, // 15: greptime.v1.DropViewExpr.view_id:type_name -> greptime.v1.TableId 23, // 16: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef 26, // 17: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry 21, // 18: greptime.v1.CreateTableExpr.table_id:type_name -> greptime.v1.TableId 12, // 19: greptime.v1.AlterExpr.add_columns:type_name -> greptime.v1.AddColumns 13, // 20: greptime.v1.AlterExpr.drop_columns:type_name -> greptime.v1.DropColumns 15, // 21: greptime.v1.AlterExpr.rename_table:type_name -> greptime.v1.RenameTable 14, // 22: greptime.v1.AlterExpr.change_column_types:type_name -> greptime.v1.ChangeColumnTypes 18, // 23: greptime.v1.AlterExpr.change_table_options:type_name -> greptime.v1.ChangeTableOptions 21, // 24: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId 27, // 25: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry 21, // 26: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId 16, // 27: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn 20, // 28: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn 17, // 29: greptime.v1.ChangeColumnTypes.change_column_types:type_name -> greptime.v1.ChangeColumnType 23, // 30: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 24, // 31: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation 30, // 32: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType 31, // 33: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension 19, // 34: greptime.v1.ChangeTableOptions.change_table_options:type_name -> greptime.v1.ChangeTableOption 30, // 35: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType 32, // 36: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType 31, // 37: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 33, // 38: greptime.v1.ColumnDef.options:type_name -> greptime.v1.ColumnOptions 0, // 39: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 40, // [40:40] is the sub-list for method output_type 40, // [40:40] is the sub-list for method input_type 40, // [40:40] is the sub-list for extension type_name 40, // [40:40] is the sub-list for extension extendee 0, // [0:40] is the sub-list for field type_name } 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.(*AlterExpr); 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.(*DropTableExpr); 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{} { switch v := v.(*CreateDatabaseExpr); 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[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TruncateTableExpr); 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[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropDatabaseExpr); 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[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddColumns); 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[12].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[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeColumnTypes); 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[14].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[15].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[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeColumnType); 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[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeTableOptions); 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[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeTableOption); 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.(*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[20].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[21].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[22].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[23].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[0].OneofWrappers = []interface{}{ (*DdlRequest_CreateDatabase)(nil), (*DdlRequest_CreateTable)(nil), (*DdlRequest_Alter)(nil), (*DdlRequest_DropTable)(nil), (*DdlRequest_TruncateTable)(nil), (*DdlRequest_CreateFlow)(nil), (*DdlRequest_DropFlow)(nil), (*DdlRequest_CreateView)(nil), (*DdlRequest_DropView)(nil), } file_greptime_v1_ddl_proto_msgTypes[6].OneofWrappers = []interface{}{ (*AlterExpr_AddColumns)(nil), (*AlterExpr_DropColumns)(nil), (*AlterExpr_RenameTable)(nil), (*AlterExpr_ChangeColumnTypes)(nil), (*AlterExpr_ChangeTableOptions)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_ddl_proto_rawDesc, NumEnums: 1, NumMessages: 27, 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 }