feat: support batch ddl (#135)

* feat: support batch create table

* feat: ddl batch

* feat: batch ddl task

* feat: response table ids
This commit is contained in:
JeremyHi
2024-01-22 14:39:21 +08:00
committed by GitHub
parent 65b008f018
commit 519b1d0757
9 changed files with 10969 additions and 357 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+394 -119
View File
@@ -144,6 +144,53 @@ func (x *CreateTableTask) GetTableInfo() []byte {
return nil return nil
} }
type CreateTableTasks struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tasks []*CreateTableTask `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (x *CreateTableTasks) Reset() {
*x = CreateTableTasks{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateTableTasks) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateTableTasks) ProtoMessage() {}
func (x *CreateTableTasks) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_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 CreateTableTasks.ProtoReflect.Descriptor instead.
func (*CreateTableTasks) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{1}
}
func (x *CreateTableTasks) GetTasks() []*CreateTableTask {
if x != nil {
return x.Tasks
}
return nil
}
type DropTableTask struct { type DropTableTask struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@@ -155,7 +202,7 @@ type DropTableTask struct {
func (x *DropTableTask) Reset() { func (x *DropTableTask) Reset() {
*x = DropTableTask{} *x = DropTableTask{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[1] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@@ -168,7 +215,7 @@ func (x *DropTableTask) String() string {
func (*DropTableTask) ProtoMessage() {} func (*DropTableTask) ProtoMessage() {}
func (x *DropTableTask) ProtoReflect() protoreflect.Message { func (x *DropTableTask) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[1] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@@ -181,7 +228,7 @@ func (x *DropTableTask) ProtoReflect() protoreflect.Message {
// Deprecated: Use DropTableTask.ProtoReflect.Descriptor instead. // Deprecated: Use DropTableTask.ProtoReflect.Descriptor instead.
func (*DropTableTask) Descriptor() ([]byte, []int) { func (*DropTableTask) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{1} return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{2}
} }
func (x *DropTableTask) GetDropTable() *v1.DropTableExpr { func (x *DropTableTask) GetDropTable() *v1.DropTableExpr {
@@ -191,6 +238,53 @@ func (x *DropTableTask) GetDropTable() *v1.DropTableExpr {
return nil return nil
} }
type DropTableTasks struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tasks []*DropTableTask `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (x *DropTableTasks) Reset() {
*x = DropTableTasks{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DropTableTasks) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DropTableTasks) ProtoMessage() {}
func (x *DropTableTasks) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_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 DropTableTasks.ProtoReflect.Descriptor instead.
func (*DropTableTasks) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{3}
}
func (x *DropTableTasks) GetTasks() []*DropTableTask {
if x != nil {
return x.Tasks
}
return nil
}
type AlterTableTask struct { type AlterTableTask struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@@ -202,7 +296,7 @@ type AlterTableTask struct {
func (x *AlterTableTask) Reset() { func (x *AlterTableTask) Reset() {
*x = AlterTableTask{} *x = AlterTableTask{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[2] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@@ -215,7 +309,7 @@ func (x *AlterTableTask) String() string {
func (*AlterTableTask) ProtoMessage() {} func (*AlterTableTask) ProtoMessage() {}
func (x *AlterTableTask) ProtoReflect() protoreflect.Message { func (x *AlterTableTask) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[2] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@@ -228,7 +322,7 @@ func (x *AlterTableTask) ProtoReflect() protoreflect.Message {
// Deprecated: Use AlterTableTask.ProtoReflect.Descriptor instead. // Deprecated: Use AlterTableTask.ProtoReflect.Descriptor instead.
func (*AlterTableTask) Descriptor() ([]byte, []int) { func (*AlterTableTask) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{2} return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{4}
} }
func (x *AlterTableTask) GetAlterTable() *v1.AlterExpr { func (x *AlterTableTask) GetAlterTable() *v1.AlterExpr {
@@ -238,6 +332,53 @@ func (x *AlterTableTask) GetAlterTable() *v1.AlterExpr {
return nil return nil
} }
type AlterTableTasks struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tasks []*AlterTableTask `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (x *AlterTableTasks) Reset() {
*x = AlterTableTasks{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AlterTableTasks) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AlterTableTasks) ProtoMessage() {}
func (x *AlterTableTasks) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_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 AlterTableTasks.ProtoReflect.Descriptor instead.
func (*AlterTableTasks) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{5}
}
func (x *AlterTableTasks) GetTasks() []*AlterTableTask {
if x != nil {
return x.Tasks
}
return nil
}
type TruncateTableTask struct { type TruncateTableTask struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@@ -249,7 +390,7 @@ type TruncateTableTask struct {
func (x *TruncateTableTask) Reset() { func (x *TruncateTableTask) Reset() {
*x = TruncateTableTask{} *x = TruncateTableTask{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[3] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@@ -262,7 +403,7 @@ func (x *TruncateTableTask) String() string {
func (*TruncateTableTask) ProtoMessage() {} func (*TruncateTableTask) ProtoMessage() {}
func (x *TruncateTableTask) ProtoReflect() protoreflect.Message { func (x *TruncateTableTask) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[3] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@@ -275,7 +416,7 @@ func (x *TruncateTableTask) ProtoReflect() protoreflect.Message {
// Deprecated: Use TruncateTableTask.ProtoReflect.Descriptor instead. // Deprecated: Use TruncateTableTask.ProtoReflect.Descriptor instead.
func (*TruncateTableTask) Descriptor() ([]byte, []int) { func (*TruncateTableTask) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{3} return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{6}
} }
func (x *TruncateTableTask) GetTruncateTable() *v1.TruncateTableExpr { func (x *TruncateTableTask) GetTruncateTable() *v1.TruncateTableExpr {
@@ -297,13 +438,16 @@ type SubmitDdlTaskRequest struct {
// *SubmitDdlTaskRequest_DropTableTask // *SubmitDdlTaskRequest_DropTableTask
// *SubmitDdlTaskRequest_AlterTableTask // *SubmitDdlTaskRequest_AlterTableTask
// *SubmitDdlTaskRequest_TruncateTableTask // *SubmitDdlTaskRequest_TruncateTableTask
// *SubmitDdlTaskRequest_CreateTableTasks
// *SubmitDdlTaskRequest_DropTableTasks
// *SubmitDdlTaskRequest_AlterTableTasks
Task isSubmitDdlTaskRequest_Task `protobuf_oneof:"task"` Task isSubmitDdlTaskRequest_Task `protobuf_oneof:"task"`
} }
func (x *SubmitDdlTaskRequest) Reset() { func (x *SubmitDdlTaskRequest) Reset() {
*x = SubmitDdlTaskRequest{} *x = SubmitDdlTaskRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[4] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@@ -316,7 +460,7 @@ func (x *SubmitDdlTaskRequest) String() string {
func (*SubmitDdlTaskRequest) ProtoMessage() {} func (*SubmitDdlTaskRequest) ProtoMessage() {}
func (x *SubmitDdlTaskRequest) ProtoReflect() protoreflect.Message { func (x *SubmitDdlTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[4] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@@ -329,7 +473,7 @@ func (x *SubmitDdlTaskRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubmitDdlTaskRequest.ProtoReflect.Descriptor instead. // Deprecated: Use SubmitDdlTaskRequest.ProtoReflect.Descriptor instead.
func (*SubmitDdlTaskRequest) Descriptor() ([]byte, []int) { func (*SubmitDdlTaskRequest) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{4} return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{7}
} }
func (x *SubmitDdlTaskRequest) GetHeader() *RequestHeader { func (x *SubmitDdlTaskRequest) GetHeader() *RequestHeader {
@@ -374,6 +518,27 @@ func (x *SubmitDdlTaskRequest) GetTruncateTableTask() *TruncateTableTask {
return nil return nil
} }
func (x *SubmitDdlTaskRequest) GetCreateTableTasks() *CreateTableTasks {
if x, ok := x.GetTask().(*SubmitDdlTaskRequest_CreateTableTasks); ok {
return x.CreateTableTasks
}
return nil
}
func (x *SubmitDdlTaskRequest) GetDropTableTasks() *DropTableTasks {
if x, ok := x.GetTask().(*SubmitDdlTaskRequest_DropTableTasks); ok {
return x.DropTableTasks
}
return nil
}
func (x *SubmitDdlTaskRequest) GetAlterTableTasks() *AlterTableTasks {
if x, ok := x.GetTask().(*SubmitDdlTaskRequest_AlterTableTasks); ok {
return x.AlterTableTasks
}
return nil
}
type isSubmitDdlTaskRequest_Task interface { type isSubmitDdlTaskRequest_Task interface {
isSubmitDdlTaskRequest_Task() isSubmitDdlTaskRequest_Task()
} }
@@ -394,6 +559,18 @@ type SubmitDdlTaskRequest_TruncateTableTask struct {
TruncateTableTask *TruncateTableTask `protobuf:"bytes,5,opt,name=truncate_table_task,json=truncateTableTask,proto3,oneof"` TruncateTableTask *TruncateTableTask `protobuf:"bytes,5,opt,name=truncate_table_task,json=truncateTableTask,proto3,oneof"`
} }
type SubmitDdlTaskRequest_CreateTableTasks struct {
CreateTableTasks *CreateTableTasks `protobuf:"bytes,6,opt,name=create_table_tasks,json=createTableTasks,proto3,oneof"`
}
type SubmitDdlTaskRequest_DropTableTasks struct {
DropTableTasks *DropTableTasks `protobuf:"bytes,7,opt,name=drop_table_tasks,json=dropTableTasks,proto3,oneof"`
}
type SubmitDdlTaskRequest_AlterTableTasks struct {
AlterTableTasks *AlterTableTasks `protobuf:"bytes,8,opt,name=alter_table_tasks,json=alterTableTasks,proto3,oneof"`
}
func (*SubmitDdlTaskRequest_CreateTableTask) isSubmitDdlTaskRequest_Task() {} func (*SubmitDdlTaskRequest_CreateTableTask) isSubmitDdlTaskRequest_Task() {}
func (*SubmitDdlTaskRequest_DropTableTask) isSubmitDdlTaskRequest_Task() {} func (*SubmitDdlTaskRequest_DropTableTask) isSubmitDdlTaskRequest_Task() {}
@@ -402,6 +579,12 @@ func (*SubmitDdlTaskRequest_AlterTableTask) isSubmitDdlTaskRequest_Task() {}
func (*SubmitDdlTaskRequest_TruncateTableTask) isSubmitDdlTaskRequest_Task() {} func (*SubmitDdlTaskRequest_TruncateTableTask) isSubmitDdlTaskRequest_Task() {}
func (*SubmitDdlTaskRequest_CreateTableTasks) isSubmitDdlTaskRequest_Task() {}
func (*SubmitDdlTaskRequest_DropTableTasks) isSubmitDdlTaskRequest_Task() {}
func (*SubmitDdlTaskRequest_AlterTableTasks) isSubmitDdlTaskRequest_Task() {}
type SubmitDdlTaskResponse struct { type SubmitDdlTaskResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@@ -411,13 +594,16 @@ type SubmitDdlTaskResponse struct {
// Key is the identifier for the ddl task. // Key is the identifier for the ddl task.
Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
// Returns if table created. // Returns if table created.
// TODO(jeremy): remove it?
TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` TableId *TableId `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
// Returns if the tables created.
TableIds []*TableId `protobuf:"bytes,5,rep,name=table_ids,json=tableIds,proto3" json:"table_ids,omitempty"`
} }
func (x *SubmitDdlTaskResponse) Reset() { func (x *SubmitDdlTaskResponse) Reset() {
*x = SubmitDdlTaskResponse{} *x = SubmitDdlTaskResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[5] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@@ -430,7 +616,7 @@ func (x *SubmitDdlTaskResponse) String() string {
func (*SubmitDdlTaskResponse) ProtoMessage() {} func (*SubmitDdlTaskResponse) ProtoMessage() {}
func (x *SubmitDdlTaskResponse) ProtoReflect() protoreflect.Message { func (x *SubmitDdlTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_ddl_proto_msgTypes[5] mi := &file_greptime_v1_meta_ddl_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@@ -443,7 +629,7 @@ func (x *SubmitDdlTaskResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SubmitDdlTaskResponse.ProtoReflect.Descriptor instead. // Deprecated: Use SubmitDdlTaskResponse.ProtoReflect.Descriptor instead.
func (*SubmitDdlTaskResponse) Descriptor() ([]byte, []int) { func (*SubmitDdlTaskResponse) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{5} return file_greptime_v1_meta_ddl_proto_rawDescGZIP(), []int{8}
} }
func (x *SubmitDdlTaskResponse) GetHeader() *ResponseHeader { func (x *SubmitDdlTaskResponse) GetHeader() *ResponseHeader {
@@ -467,6 +653,13 @@ func (x *SubmitDdlTaskResponse) GetTableId() *TableId {
return nil return nil
} }
func (x *SubmitDdlTaskResponse) GetTableIds() []*TableId {
if x != nil {
return x.TableIds
}
return nil
}
var File_greptime_v1_meta_ddl_proto protoreflect.FileDescriptor var File_greptime_v1_meta_ddl_proto protoreflect.FileDescriptor
var file_greptime_v1_meta_ddl_proto_rawDesc = []byte{ var file_greptime_v1_meta_ddl_proto_rawDesc = []byte{
@@ -489,71 +682,104 @@ var file_greptime_v1_meta_ddl_proto_rawDesc = []byte{
0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e,
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x22, 0x4a, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x6e, 0x66, 0x6f, 0x22, 0x4b, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73,
0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73,
0x49, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x22, 0x4a, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x6b, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0a, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70,
0x61, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x5a, 0x0a, 0x11, 0x54, 0x72, 0x72, 0x52, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e,
0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x35,
0x45, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05,
0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x49, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61,
0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x98, 0x03, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72,
0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
0x37, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72,
0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65,
0x74, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x49, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61,
0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03,
0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65,
0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x5a, 0x0a, 0x11, 0x54,
0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x12, 0x45, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62,
0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74,
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54,
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61,
0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x8b, 0x05, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x6d,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x4c, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x12, 0x37, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x61, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
0x48, 0x00, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x63, 0x72, 0x65,
0x73, 0x6b, 0x12, 0x55, 0x0a, 0x13, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61,
0x74, 0x61, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74,
0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0f, 0x64, 0x72,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20,
0x6b, 0x22, 0x99, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x68, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65,
0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c,
0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4c, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65,
0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73,
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54,
0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x61, 0x73, 0x6b, 0x12, 0x55, 0x0a, 0x13, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f,
0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x2a, 0x23, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x0b, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x72, 0x6f, 0x70, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c,
0x10, 0x01, 0x32, 0x6b, 0x0a, 0x07, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74,
0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x52, 0x0a, 0x12, 0x63, 0x72,
0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73,
0x61, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72,
0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x4c,
0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73,
0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74,
0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x72, 0x6f, 0x70,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x72,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x4f, 0x0a, 0x11,
0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x6c,
0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x42, 0x06, 0x0a,
0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xd1, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74,
0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x38, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65,
0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61,
0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49,
0x64, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x52,
0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x2a, 0x23, 0x0a, 0x0b, 0x44, 0x64, 0x6c,
0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x32, 0x6b,
0x0a, 0x07, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0d, 0x53, 0x75, 0x62,
0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x72, 0x65,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x75,
0x62, 0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x64, 0x6c, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3c, 0x5a, 0x3a, 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, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
} }
var ( var (
@@ -569,44 +795,54 @@ func file_greptime_v1_meta_ddl_proto_rawDescGZIP() []byte {
} }
var file_greptime_v1_meta_ddl_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_greptime_v1_meta_ddl_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_greptime_v1_meta_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_greptime_v1_meta_ddl_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_greptime_v1_meta_ddl_proto_goTypes = []interface{}{ var file_greptime_v1_meta_ddl_proto_goTypes = []interface{}{
(DdlTaskType)(0), // 0: greptime.v1.meta.DdlTaskType (DdlTaskType)(0), // 0: greptime.v1.meta.DdlTaskType
(*CreateTableTask)(nil), // 1: greptime.v1.meta.CreateTableTask (*CreateTableTask)(nil), // 1: greptime.v1.meta.CreateTableTask
(*DropTableTask)(nil), // 2: greptime.v1.meta.DropTableTask (*CreateTableTasks)(nil), // 2: greptime.v1.meta.CreateTableTasks
(*AlterTableTask)(nil), // 3: greptime.v1.meta.AlterTableTask (*DropTableTask)(nil), // 3: greptime.v1.meta.DropTableTask
(*TruncateTableTask)(nil), // 4: greptime.v1.meta.TruncateTableTask (*DropTableTasks)(nil), // 4: greptime.v1.meta.DropTableTasks
(*SubmitDdlTaskRequest)(nil), // 5: greptime.v1.meta.SubmitDdlTaskRequest (*AlterTableTask)(nil), // 5: greptime.v1.meta.AlterTableTask
(*SubmitDdlTaskResponse)(nil), // 6: greptime.v1.meta.SubmitDdlTaskResponse (*AlterTableTasks)(nil), // 6: greptime.v1.meta.AlterTableTasks
(*v1.CreateTableExpr)(nil), // 7: greptime.v1.CreateTableExpr (*TruncateTableTask)(nil), // 7: greptime.v1.meta.TruncateTableTask
(*Partition)(nil), // 8: greptime.v1.meta.Partition (*SubmitDdlTaskRequest)(nil), // 8: greptime.v1.meta.SubmitDdlTaskRequest
(*v1.DropTableExpr)(nil), // 9: greptime.v1.DropTableExpr (*SubmitDdlTaskResponse)(nil), // 9: greptime.v1.meta.SubmitDdlTaskResponse
(*v1.AlterExpr)(nil), // 10: greptime.v1.AlterExpr (*v1.CreateTableExpr)(nil), // 10: greptime.v1.CreateTableExpr
(*v1.TruncateTableExpr)(nil), // 11: greptime.v1.TruncateTableExpr (*Partition)(nil), // 11: greptime.v1.meta.Partition
(*RequestHeader)(nil), // 12: greptime.v1.meta.RequestHeader (*v1.DropTableExpr)(nil), // 12: greptime.v1.DropTableExpr
(*ResponseHeader)(nil), // 13: greptime.v1.meta.ResponseHeader (*v1.AlterExpr)(nil), // 13: greptime.v1.AlterExpr
(*TableId)(nil), // 14: greptime.v1.meta.TableId (*v1.TruncateTableExpr)(nil), // 14: greptime.v1.TruncateTableExpr
(*RequestHeader)(nil), // 15: greptime.v1.meta.RequestHeader
(*ResponseHeader)(nil), // 16: greptime.v1.meta.ResponseHeader
(*TableId)(nil), // 17: greptime.v1.meta.TableId
} }
var file_greptime_v1_meta_ddl_proto_depIdxs = []int32{ var file_greptime_v1_meta_ddl_proto_depIdxs = []int32{
7, // 0: greptime.v1.meta.CreateTableTask.create_table:type_name -> greptime.v1.CreateTableExpr 10, // 0: greptime.v1.meta.CreateTableTask.create_table:type_name -> greptime.v1.CreateTableExpr
8, // 1: greptime.v1.meta.CreateTableTask.partitions:type_name -> greptime.v1.meta.Partition 11, // 1: greptime.v1.meta.CreateTableTask.partitions:type_name -> greptime.v1.meta.Partition
9, // 2: greptime.v1.meta.DropTableTask.drop_table:type_name -> greptime.v1.DropTableExpr 1, // 2: greptime.v1.meta.CreateTableTasks.tasks:type_name -> greptime.v1.meta.CreateTableTask
10, // 3: greptime.v1.meta.AlterTableTask.alter_table:type_name -> greptime.v1.AlterExpr 12, // 3: greptime.v1.meta.DropTableTask.drop_table:type_name -> greptime.v1.DropTableExpr
11, // 4: greptime.v1.meta.TruncateTableTask.truncate_table:type_name -> greptime.v1.TruncateTableExpr 3, // 4: greptime.v1.meta.DropTableTasks.tasks:type_name -> greptime.v1.meta.DropTableTask
12, // 5: greptime.v1.meta.SubmitDdlTaskRequest.header:type_name -> greptime.v1.meta.RequestHeader 13, // 5: greptime.v1.meta.AlterTableTask.alter_table:type_name -> greptime.v1.AlterExpr
1, // 6: greptime.v1.meta.SubmitDdlTaskRequest.create_table_task:type_name -> greptime.v1.meta.CreateTableTask 5, // 6: greptime.v1.meta.AlterTableTasks.tasks:type_name -> greptime.v1.meta.AlterTableTask
2, // 7: greptime.v1.meta.SubmitDdlTaskRequest.drop_table_task:type_name -> greptime.v1.meta.DropTableTask 14, // 7: greptime.v1.meta.TruncateTableTask.truncate_table:type_name -> greptime.v1.TruncateTableExpr
3, // 8: greptime.v1.meta.SubmitDdlTaskRequest.alter_table_task:type_name -> greptime.v1.meta.AlterTableTask 15, // 8: greptime.v1.meta.SubmitDdlTaskRequest.header:type_name -> greptime.v1.meta.RequestHeader
4, // 9: greptime.v1.meta.SubmitDdlTaskRequest.truncate_table_task:type_name -> greptime.v1.meta.TruncateTableTask 1, // 9: greptime.v1.meta.SubmitDdlTaskRequest.create_table_task:type_name -> greptime.v1.meta.CreateTableTask
13, // 10: greptime.v1.meta.SubmitDdlTaskResponse.header:type_name -> greptime.v1.meta.ResponseHeader 3, // 10: greptime.v1.meta.SubmitDdlTaskRequest.drop_table_task:type_name -> greptime.v1.meta.DropTableTask
14, // 11: greptime.v1.meta.SubmitDdlTaskResponse.table_id:type_name -> greptime.v1.meta.TableId 5, // 11: greptime.v1.meta.SubmitDdlTaskRequest.alter_table_task:type_name -> greptime.v1.meta.AlterTableTask
5, // 12: greptime.v1.meta.DdlTask.SubmitDdlTask:input_type -> greptime.v1.meta.SubmitDdlTaskRequest 7, // 12: greptime.v1.meta.SubmitDdlTaskRequest.truncate_table_task:type_name -> greptime.v1.meta.TruncateTableTask
6, // 13: greptime.v1.meta.DdlTask.SubmitDdlTask:output_type -> greptime.v1.meta.SubmitDdlTaskResponse 2, // 13: greptime.v1.meta.SubmitDdlTaskRequest.create_table_tasks:type_name -> greptime.v1.meta.CreateTableTasks
13, // [13:14] is the sub-list for method output_type 4, // 14: greptime.v1.meta.SubmitDdlTaskRequest.drop_table_tasks:type_name -> greptime.v1.meta.DropTableTasks
12, // [12:13] is the sub-list for method input_type 6, // 15: greptime.v1.meta.SubmitDdlTaskRequest.alter_table_tasks:type_name -> greptime.v1.meta.AlterTableTasks
12, // [12:12] is the sub-list for extension type_name 16, // 16: greptime.v1.meta.SubmitDdlTaskResponse.header:type_name -> greptime.v1.meta.ResponseHeader
12, // [12:12] is the sub-list for extension extendee 17, // 17: greptime.v1.meta.SubmitDdlTaskResponse.table_id:type_name -> greptime.v1.meta.TableId
0, // [0:12] is the sub-list for field type_name 17, // 18: greptime.v1.meta.SubmitDdlTaskResponse.table_ids:type_name -> greptime.v1.meta.TableId
8, // 19: greptime.v1.meta.DdlTask.SubmitDdlTask:input_type -> greptime.v1.meta.SubmitDdlTaskRequest
9, // 20: greptime.v1.meta.DdlTask.SubmitDdlTask:output_type -> greptime.v1.meta.SubmitDdlTaskResponse
20, // [20:21] is the sub-list for method output_type
19, // [19:20] is the sub-list for method input_type
19, // [19:19] is the sub-list for extension type_name
19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
} }
func init() { file_greptime_v1_meta_ddl_proto_init() } func init() { file_greptime_v1_meta_ddl_proto_init() }
@@ -630,7 +866,7 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { file_greptime_v1_meta_ddl_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DropTableTask); i { switch v := v.(*CreateTableTasks); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@@ -642,7 +878,7 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { file_greptime_v1_meta_ddl_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AlterTableTask); i { switch v := v.(*DropTableTask); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@@ -654,7 +890,7 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { file_greptime_v1_meta_ddl_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TruncateTableTask); i { switch v := v.(*DropTableTasks); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@@ -666,7 +902,7 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { file_greptime_v1_meta_ddl_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitDdlTaskRequest); i { switch v := v.(*AlterTableTask); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@@ -678,6 +914,42 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { file_greptime_v1_meta_ddl_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AlterTableTasks); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_ddl_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TruncateTableTask); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_ddl_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitDdlTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_ddl_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubmitDdlTaskResponse); i { switch v := v.(*SubmitDdlTaskResponse); i {
case 0: case 0:
return &v.state return &v.state
@@ -690,11 +962,14 @@ func file_greptime_v1_meta_ddl_proto_init() {
} }
} }
} }
file_greptime_v1_meta_ddl_proto_msgTypes[4].OneofWrappers = []interface{}{ file_greptime_v1_meta_ddl_proto_msgTypes[7].OneofWrappers = []interface{}{
(*SubmitDdlTaskRequest_CreateTableTask)(nil), (*SubmitDdlTaskRequest_CreateTableTask)(nil),
(*SubmitDdlTaskRequest_DropTableTask)(nil), (*SubmitDdlTaskRequest_DropTableTask)(nil),
(*SubmitDdlTaskRequest_AlterTableTask)(nil), (*SubmitDdlTaskRequest_AlterTableTask)(nil),
(*SubmitDdlTaskRequest_TruncateTableTask)(nil), (*SubmitDdlTaskRequest_TruncateTableTask)(nil),
(*SubmitDdlTaskRequest_CreateTableTasks)(nil),
(*SubmitDdlTaskRequest_DropTableTasks)(nil),
(*SubmitDdlTaskRequest_AlterTableTasks)(nil),
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@@ -702,7 +977,7 @@ func file_greptime_v1_meta_ddl_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_greptime_v1_meta_ddl_proto_rawDesc, RawDescriptor: file_greptime_v1_meta_ddl_proto_rawDesc,
NumEnums: 1, NumEnums: 1,
NumMessages: 6, NumMessages: 9,
NumExtensions: 0, NumExtensions: 0,
NumServices: 1, NumServices: 1,
}, },
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+12
View File
@@ -39,14 +39,20 @@ message CreateTableTask {
bytes table_info = 3; bytes table_info = 3;
} }
message CreateTableTasks { repeated CreateTableTask tasks = 1; }
message DropTableTask{ message DropTableTask{
DropTableExpr drop_table = 1; DropTableExpr drop_table = 1;
} }
message DropTableTasks { repeated DropTableTask tasks = 1; }
message AlterTableTask{ message AlterTableTask{
AlterExpr alter_table = 1; AlterExpr alter_table = 1;
} }
message AlterTableTasks { repeated AlterTableTask tasks = 1; }
message TruncateTableTask { message TruncateTableTask {
TruncateTableExpr truncate_table = 1; TruncateTableExpr truncate_table = 1;
} }
@@ -59,6 +65,9 @@ message SubmitDdlTaskRequest {
DropTableTask drop_table_task = 3; DropTableTask drop_table_task = 3;
AlterTableTask alter_table_task = 4; AlterTableTask alter_table_task = 4;
TruncateTableTask truncate_table_task = 5; TruncateTableTask truncate_table_task = 5;
CreateTableTasks create_table_tasks = 6;
DropTableTasks drop_table_tasks = 7;
AlterTableTasks alter_table_tasks = 8;
} }
} }
@@ -68,5 +77,8 @@ message SubmitDdlTaskResponse {
bytes key = 2; bytes key = 2;
// Returns if table created. // Returns if table created.
// TODO(jeremy): remove it?
TableId table_id = 4; TableId table_id = 4;
// Returns if the tables created.
repeated TableId table_ids = 5;
} }
+13
View File
@@ -47,6 +47,9 @@ message RegionRequest {
FlushRequest flush = 10; FlushRequest flush = 10;
CompactRequest compact = 11; CompactRequest compact = 11;
TruncateRequest truncate = 12; TruncateRequest truncate = 12;
CreateRequests creates = 13;
DropRequests drops = 14;
AlterRequests alters = 15;
} }
} }
@@ -76,6 +79,11 @@ message QueryRequest {
bytes plan = 3; bytes plan = 3;
} }
// Create a batch of regions at once, usually used to create multiple logical regions
// at once. Different engines can choose whether to support this request.
// Metric Engine needs it.
message CreateRequests { repeated CreateRequest requests = 1; }
message CreateRequest { message CreateRequest {
uint64 region_id = 1; uint64 region_id = 1;
// Region engine name // Region engine name
@@ -91,6 +99,9 @@ message CreateRequest {
// TODO: add partition def // TODO: add partition def
} }
// Same as CreateRequests, but for dropping regions.
message DropRequests { repeated DropRequest requests = 1; }
message DropRequest { uint64 region_id = 1; } message DropRequest { uint64 region_id = 1; }
message OpenRequest { message OpenRequest {
@@ -105,6 +116,8 @@ message OpenRequest {
message CloseRequest { uint64 region_id = 1; } message CloseRequest { uint64 region_id = 1; }
message AlterRequests { repeated AlterRequest requests = 1; }
message AlterRequest { message AlterRequest {
uint64 region_id = 1; uint64 region_id = 1;
oneof kind { oneof kind {