// 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{18, 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_CreateFlowTask // *DdlRequest_DropFlowTask 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) GetCreateFlowTask() *CreateFlowTaskExpr { if x, ok := x.GetExpr().(*DdlRequest_CreateFlowTask); ok { return x.CreateFlowTask } return nil } func (x *DdlRequest) GetDropFlowTask() *DropFlowTaskExpr { if x, ok := x.GetExpr().(*DdlRequest_DropFlowTask); ok { return x.DropFlowTask } 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_CreateFlowTask struct { CreateFlowTask *CreateFlowTaskExpr `protobuf:"bytes,8,opt,name=create_flow_task,json=createFlowTask,proto3,oneof"` } type DdlRequest_DropFlowTask struct { DropFlowTask *DropFlowTaskExpr `protobuf:"bytes,9,opt,name=drop_flow_task,json=dropFlowTask,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_CreateFlowTask) isDdlRequest_Expr() {} func (*DdlRequest_DropFlowTask) isDdlRequest_Expr() {} // Create a flow task to run the SQL when new data arrives. type CreateFlowTaskExpr 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"` TaskName string `protobuf:"bytes,2,opt,name=task_name,json=taskName,proto3" json:"task_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"` ExpireWhen string `protobuf:"bytes,7,opt,name=expire_when,json=expireWhen,proto3" json:"expire_when,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"` TaskOptions map[string]string `protobuf:"bytes,10,rep,name=task_options,json=taskOptions,proto3" json:"task_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CreateFlowTaskExpr) Reset() { *x = CreateFlowTaskExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateFlowTaskExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateFlowTaskExpr) ProtoMessage() {} func (x *CreateFlowTaskExpr) 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 CreateFlowTaskExpr.ProtoReflect.Descriptor instead. func (*CreateFlowTaskExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{1} } func (x *CreateFlowTaskExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *CreateFlowTaskExpr) GetTaskName() string { if x != nil { return x.TaskName } return "" } func (x *CreateFlowTaskExpr) GetSourceTableNames() []*TableName { if x != nil { return x.SourceTableNames } return nil } func (x *CreateFlowTaskExpr) GetSinkTableName() *TableName { if x != nil { return x.SinkTableName } return nil } func (x *CreateFlowTaskExpr) GetOrReplace() bool { if x != nil { return x.OrReplace } return false } func (x *CreateFlowTaskExpr) GetCreateIfNotExists() bool { if x != nil { return x.CreateIfNotExists } return false } func (x *CreateFlowTaskExpr) GetExpireWhen() string { if x != nil { return x.ExpireWhen } return "" } func (x *CreateFlowTaskExpr) GetComment() string { if x != nil { return x.Comment } return "" } func (x *CreateFlowTaskExpr) GetSql() string { if x != nil { return x.Sql } return "" } func (x *CreateFlowTaskExpr) GetTaskOptions() map[string]string { if x != nil { return x.TaskOptions } return nil } // Remove a flow task. type DropFlowTaskExpr 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"` TaskName string `protobuf:"bytes,2,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` } func (x *DropFlowTaskExpr) Reset() { *x = DropFlowTaskExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DropFlowTaskExpr) String() string { return protoimpl.X.MessageStringOf(x) } func (*DropFlowTaskExpr) ProtoMessage() {} func (x *DropFlowTaskExpr) 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 DropFlowTaskExpr.ProtoReflect.Descriptor instead. func (*DropFlowTaskExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{2} } func (x *DropFlowTaskExpr) GetCatalogName() string { if x != nil { return x.CatalogName } return "" } func (x *DropFlowTaskExpr) GetTaskName() string { if x != nil { return x.TaskName } return "" } 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[3] 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[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 CreateTableExpr.ProtoReflect.Descriptor instead. func (*CreateTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{3} } 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 Kind isAlterExpr_Kind `protobuf_oneof:"kind"` } func (x *AlterExpr) Reset() { *x = AlterExpr{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[4] 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[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 AlterExpr.ProtoReflect.Descriptor instead. func (*AlterExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{4} } 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 } 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"` } func (*AlterExpr_AddColumns) isAlterExpr_Kind() {} func (*AlterExpr_DropColumns) isAlterExpr_Kind() {} func (*AlterExpr_RenameTable) isAlterExpr_Kind() {} func (*AlterExpr_ChangeColumnTypes) 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[5] 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[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 DropTableExpr.ProtoReflect.Descriptor instead. func (*DropTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{5} } 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[6] 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[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 CreateDatabaseExpr.ProtoReflect.Descriptor instead. func (*CreateDatabaseExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{6} } 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[7] 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[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 TruncateTableExpr.ProtoReflect.Descriptor instead. func (*TruncateTableExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{7} } 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[8] 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[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 DropDatabaseExpr.ProtoReflect.Descriptor instead. func (*DropDatabaseExpr) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{8} } 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[9] 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[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 AddColumns.ProtoReflect.Descriptor instead. func (*AddColumns) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{9} } 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[10] 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[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 DropColumns.ProtoReflect.Descriptor instead. func (*DropColumns) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{10} } 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[11] 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[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 ChangeColumnTypes.ProtoReflect.Descriptor instead. func (*ChangeColumnTypes) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{11} } 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[12] 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[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 RenameTable.ProtoReflect.Descriptor instead. func (*RenameTable) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{12} } 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[13] 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[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 AddColumn.ProtoReflect.Descriptor instead. func (*AddColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{13} } 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[14] 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[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 ChangeColumnType.ProtoReflect.Descriptor instead. func (*ChangeColumnType) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{14} } 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 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[15] 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[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 DropColumn.ProtoReflect.Descriptor instead. func (*DropColumn) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{15} } 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[16] 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[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 TableId.ProtoReflect.Descriptor instead. func (*TableId) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{16} } func (x *TableId) 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"` } func (x *ColumnDef) Reset() { *x = ColumnDef{} if protoimpl.UnsafeEnabled { mi := &file_greptime_v1_ddl_proto_msgTypes[17] 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[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 ColumnDef.ProtoReflect.Descriptor instead. func (*ColumnDef) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{17} } 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 } 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[18] 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[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 AddColumnLocation.ProtoReflect.Descriptor instead. func (*AddColumnLocation) Descriptor() ([]byte, []int) { return file_greptime_v1_ddl_proto_rawDescGZIP(), []int{18} } 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, 0xed, 0x03, 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, 0x4b, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x08, 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, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x8c, 0x04, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 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, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 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, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x68, 0x65, 0x6e, 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, 0x53, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 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, 0x52, 0x0a, 0x10, 0x44, 0x72, 0x6f, 0x70, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x61, 0x73, 0x6b, 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, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 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, 0x82, 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, 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, 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, 0xd8, 0x02, 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, 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, 22) var file_greptime_v1_ddl_proto_goTypes = []interface{}{ (AddColumnLocation_LocationType)(0), // 0: greptime.v1.AddColumnLocation.LocationType (*DdlRequest)(nil), // 1: greptime.v1.DdlRequest (*CreateFlowTaskExpr)(nil), // 2: greptime.v1.CreateFlowTaskExpr (*DropFlowTaskExpr)(nil), // 3: greptime.v1.DropFlowTaskExpr (*CreateTableExpr)(nil), // 4: greptime.v1.CreateTableExpr (*AlterExpr)(nil), // 5: greptime.v1.AlterExpr (*DropTableExpr)(nil), // 6: greptime.v1.DropTableExpr (*CreateDatabaseExpr)(nil), // 7: greptime.v1.CreateDatabaseExpr (*TruncateTableExpr)(nil), // 8: greptime.v1.TruncateTableExpr (*DropDatabaseExpr)(nil), // 9: greptime.v1.DropDatabaseExpr (*AddColumns)(nil), // 10: greptime.v1.AddColumns (*DropColumns)(nil), // 11: greptime.v1.DropColumns (*ChangeColumnTypes)(nil), // 12: greptime.v1.ChangeColumnTypes (*RenameTable)(nil), // 13: greptime.v1.RenameTable (*AddColumn)(nil), // 14: greptime.v1.AddColumn (*ChangeColumnType)(nil), // 15: greptime.v1.ChangeColumnType (*DropColumn)(nil), // 16: greptime.v1.DropColumn (*TableId)(nil), // 17: greptime.v1.TableId (*ColumnDef)(nil), // 18: greptime.v1.ColumnDef (*AddColumnLocation)(nil), // 19: greptime.v1.AddColumnLocation nil, // 20: greptime.v1.CreateFlowTaskExpr.TaskOptionsEntry nil, // 21: greptime.v1.CreateTableExpr.TableOptionsEntry nil, // 22: greptime.v1.CreateDatabaseExpr.OptionsEntry (*TableName)(nil), // 23: greptime.v1.TableName (ColumnDataType)(0), // 24: greptime.v1.ColumnDataType (*ColumnDataTypeExtension)(nil), // 25: greptime.v1.ColumnDataTypeExtension (SemanticType)(0), // 26: greptime.v1.SemanticType } var file_greptime_v1_ddl_proto_depIdxs = []int32{ 7, // 0: greptime.v1.DdlRequest.create_database:type_name -> greptime.v1.CreateDatabaseExpr 4, // 1: greptime.v1.DdlRequest.create_table:type_name -> greptime.v1.CreateTableExpr 5, // 2: greptime.v1.DdlRequest.alter:type_name -> greptime.v1.AlterExpr 6, // 3: greptime.v1.DdlRequest.drop_table:type_name -> greptime.v1.DropTableExpr 8, // 4: greptime.v1.DdlRequest.truncate_table:type_name -> greptime.v1.TruncateTableExpr 2, // 5: greptime.v1.DdlRequest.create_flow_task:type_name -> greptime.v1.CreateFlowTaskExpr 3, // 6: greptime.v1.DdlRequest.drop_flow_task:type_name -> greptime.v1.DropFlowTaskExpr 23, // 7: greptime.v1.CreateFlowTaskExpr.source_table_names:type_name -> greptime.v1.TableName 23, // 8: greptime.v1.CreateFlowTaskExpr.sink_table_name:type_name -> greptime.v1.TableName 20, // 9: greptime.v1.CreateFlowTaskExpr.task_options:type_name -> greptime.v1.CreateFlowTaskExpr.TaskOptionsEntry 18, // 10: greptime.v1.CreateTableExpr.column_defs:type_name -> greptime.v1.ColumnDef 21, // 11: greptime.v1.CreateTableExpr.table_options:type_name -> greptime.v1.CreateTableExpr.TableOptionsEntry 17, // 12: greptime.v1.CreateTableExpr.table_id:type_name -> greptime.v1.TableId 10, // 13: greptime.v1.AlterExpr.add_columns:type_name -> greptime.v1.AddColumns 11, // 14: greptime.v1.AlterExpr.drop_columns:type_name -> greptime.v1.DropColumns 13, // 15: greptime.v1.AlterExpr.rename_table:type_name -> greptime.v1.RenameTable 12, // 16: greptime.v1.AlterExpr.change_column_types:type_name -> greptime.v1.ChangeColumnTypes 17, // 17: greptime.v1.DropTableExpr.table_id:type_name -> greptime.v1.TableId 22, // 18: greptime.v1.CreateDatabaseExpr.options:type_name -> greptime.v1.CreateDatabaseExpr.OptionsEntry 17, // 19: greptime.v1.TruncateTableExpr.table_id:type_name -> greptime.v1.TableId 14, // 20: greptime.v1.AddColumns.add_columns:type_name -> greptime.v1.AddColumn 16, // 21: greptime.v1.DropColumns.drop_columns:type_name -> greptime.v1.DropColumn 15, // 22: greptime.v1.ChangeColumnTypes.change_column_types:type_name -> greptime.v1.ChangeColumnType 18, // 23: greptime.v1.AddColumn.column_def:type_name -> greptime.v1.ColumnDef 19, // 24: greptime.v1.AddColumn.location:type_name -> greptime.v1.AddColumnLocation 24, // 25: greptime.v1.ChangeColumnType.target_type:type_name -> greptime.v1.ColumnDataType 25, // 26: greptime.v1.ChangeColumnType.target_type_extension:type_name -> greptime.v1.ColumnDataTypeExtension 24, // 27: greptime.v1.ColumnDef.data_type:type_name -> greptime.v1.ColumnDataType 26, // 28: greptime.v1.ColumnDef.semantic_type:type_name -> greptime.v1.SemanticType 25, // 29: greptime.v1.ColumnDef.datatype_extension:type_name -> greptime.v1.ColumnDataTypeExtension 0, // 30: greptime.v1.AddColumnLocation.location_type:type_name -> greptime.v1.AddColumnLocation.LocationType 31, // [31:31] is the sub-list for method output_type 31, // [31:31] is the sub-list for method input_type 31, // [31:31] is the sub-list for extension type_name 31, // [31:31] is the sub-list for extension extendee 0, // [0:31] 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.(*CreateFlowTaskExpr); 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.(*DropFlowTaskExpr); 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.(*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[4].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[5].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[6].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[7].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[8].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[9].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[10].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[11].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[12].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[13].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[14].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[15].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[16].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[17].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[18].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_CreateFlowTask)(nil), (*DdlRequest_DropFlowTask)(nil), } file_greptime_v1_ddl_proto_msgTypes[4].OneofWrappers = []interface{}{ (*AlterExpr_AddColumns)(nil), (*AlterExpr_DropColumns)(nil), (*AlterExpr_RenameTable)(nil), (*AlterExpr_ChangeColumnTypes)(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: 22, 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 }