From 3a715150563b89d5dfc81a5838eac1f66a5658a1 Mon Sep 17 00:00:00 2001 From: Ning Sun Date: Mon, 13 Mar 2023 11:34:53 +0800 Subject: [PATCH] feat: add promql query support (#13) * feat: add promql query support * feat: add go sources * refactor: rename promql to prom_range_query * fix: lint issue --- go/greptime/v1/database.pb.go | 224 +++++++++++++++++++++++-------- proto/greptime/v1/database.proto | 8 ++ src/v1/meta.rs | 2 +- 3 files changed, 176 insertions(+), 58 deletions(-) diff --git a/go/greptime/v1/database.pb.go b/go/greptime/v1/database.pb.go index 19e03bd..04d760b 100644 --- a/go/greptime/v1/database.pb.go +++ b/go/greptime/v1/database.pb.go @@ -381,6 +381,7 @@ type QueryRequest struct { // // *QueryRequest_Sql // *QueryRequest_LogicalPlan + // *QueryRequest_PromRangeQuery Query isQueryRequest_Query `protobuf_oneof:"query"` } @@ -437,6 +438,13 @@ func (x *QueryRequest) GetLogicalPlan() []byte { return nil } +func (x *QueryRequest) GetPromRangeQuery() *PromRangeQuery { + if x, ok := x.GetQuery().(*QueryRequest_PromRangeQuery); ok { + return x.PromRangeQuery + } + return nil +} + type isQueryRequest_Query interface { isQueryRequest_Query() } @@ -449,10 +457,87 @@ type QueryRequest_LogicalPlan struct { LogicalPlan []byte `protobuf:"bytes,2,opt,name=logical_plan,json=logicalPlan,proto3,oneof"` } +type QueryRequest_PromRangeQuery struct { + PromRangeQuery *PromRangeQuery `protobuf:"bytes,3,opt,name=prom_range_query,json=promRangeQuery,proto3,oneof"` +} + func (*QueryRequest_Sql) isQueryRequest_Query() {} func (*QueryRequest_LogicalPlan) isQueryRequest_Query() {} +func (*QueryRequest_PromRangeQuery) isQueryRequest_Query() {} + +type PromRangeQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Start string `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` + End string `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` + Step string `protobuf:"bytes,4,opt,name=step,proto3" json:"step,omitempty"` +} + +func (x *PromRangeQuery) Reset() { + *x = PromRangeQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_greptime_v1_database_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PromRangeQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PromRangeQuery) ProtoMessage() {} + +func (x *PromRangeQuery) ProtoReflect() protoreflect.Message { + mi := &file_greptime_v1_database_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 PromRangeQuery.ProtoReflect.Descriptor instead. +func (*PromRangeQuery) Descriptor() ([]byte, []int) { + return file_greptime_v1_database_proto_rawDescGZIP(), []int{6} +} + +func (x *PromRangeQuery) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *PromRangeQuery) GetStart() string { + if x != nil { + return x.Start + } + return "" +} + +func (x *PromRangeQuery) GetEnd() string { + if x != nil { + return x.End + } + return "" +} + +func (x *PromRangeQuery) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + type InsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -472,7 +557,7 @@ type InsertRequest struct { func (x *InsertRequest) Reset() { *x = InsertRequest{} if protoimpl.UnsafeEnabled { - mi := &file_greptime_v1_database_proto_msgTypes[6] + mi := &file_greptime_v1_database_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -485,7 +570,7 @@ func (x *InsertRequest) String() string { func (*InsertRequest) ProtoMessage() {} func (x *InsertRequest) ProtoReflect() protoreflect.Message { - mi := &file_greptime_v1_database_proto_msgTypes[6] + mi := &file_greptime_v1_database_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -498,7 +583,7 @@ func (x *InsertRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRequest.ProtoReflect.Descriptor instead. func (*InsertRequest) Descriptor() ([]byte, []int) { - return file_greptime_v1_database_proto_rawDescGZIP(), []int{6} + return file_greptime_v1_database_proto_rawDescGZIP(), []int{7} } func (x *InsertRequest) GetTableName() string { @@ -540,7 +625,7 @@ type AffectedRows struct { func (x *AffectedRows) Reset() { *x = AffectedRows{} if protoimpl.UnsafeEnabled { - mi := &file_greptime_v1_database_proto_msgTypes[7] + mi := &file_greptime_v1_database_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -553,7 +638,7 @@ func (x *AffectedRows) String() string { func (*AffectedRows) ProtoMessage() {} func (x *AffectedRows) ProtoReflect() protoreflect.Message { - mi := &file_greptime_v1_database_proto_msgTypes[7] + mi := &file_greptime_v1_database_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -566,7 +651,7 @@ func (x *AffectedRows) ProtoReflect() protoreflect.Message { // Deprecated: Use AffectedRows.ProtoReflect.Descriptor instead. func (*AffectedRows) Descriptor() ([]byte, []int) { - return file_greptime_v1_database_proto_rawDescGZIP(), []int{7} + return file_greptime_v1_database_proto_rawDescGZIP(), []int{8} } func (x *AffectedRows) GetValue() uint32 { @@ -587,7 +672,7 @@ type FlightMetadata struct { func (x *FlightMetadata) Reset() { *x = FlightMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_greptime_v1_database_proto_msgTypes[8] + mi := &file_greptime_v1_database_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -600,7 +685,7 @@ func (x *FlightMetadata) String() string { func (*FlightMetadata) ProtoMessage() {} func (x *FlightMetadata) ProtoReflect() protoreflect.Message { - mi := &file_greptime_v1_database_proto_msgTypes[8] + mi := &file_greptime_v1_database_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -613,7 +698,7 @@ func (x *FlightMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use FlightMetadata.ProtoReflect.Descriptor instead. func (*FlightMetadata) Descriptor() ([]byte, []int) { - return file_greptime_v1_database_proto_rawDescGZIP(), []int{8} + return file_greptime_v1_database_proto_rawDescGZIP(), []int{9} } func (x *FlightMetadata) GetAffectedRows() *AffectedRows { @@ -667,36 +752,46 @@ var file_greptime_v1_database_proto_rawDesc = []byte{ 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x64, 0x64, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x64, 0x64, 0x6c, - 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x0c, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x73, - 0x71, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, - 0x23, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, - 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x9f, 0x01, - 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, - 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, - 0x24, 0x0a, 0x0c, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x50, 0x0a, 0x0e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x66, 0x66, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x42, 0x51, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, - 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 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, + 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x0c, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x03, + 0x73, 0x71, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x71, 0x6c, + 0x12, 0x23, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0e, + 0x70, 0x72, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x07, + 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x62, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0x9f, 0x01, 0x0a, 0x0d, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x24, 0x0a, + 0x0c, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x50, 0x0a, 0x0e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0d, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x0c, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x52, 0x6f, 0x77, 0x73, 0x42, 0x51, 0x0a, 0x0e, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x65, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 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 ( @@ -711,7 +806,7 @@ func file_greptime_v1_database_proto_rawDescGZIP() []byte { return file_greptime_v1_database_proto_rawDescData } -var file_greptime_v1_database_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_greptime_v1_database_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_greptime_v1_database_proto_goTypes = []interface{}{ (*RequestHeader)(nil), // 0: greptime.v1.RequestHeader (*AuthHeader)(nil), // 1: greptime.v1.AuthHeader @@ -719,27 +814,29 @@ var file_greptime_v1_database_proto_goTypes = []interface{}{ (*Token)(nil), // 3: greptime.v1.Token (*GreptimeRequest)(nil), // 4: greptime.v1.GreptimeRequest (*QueryRequest)(nil), // 5: greptime.v1.QueryRequest - (*InsertRequest)(nil), // 6: greptime.v1.InsertRequest - (*AffectedRows)(nil), // 7: greptime.v1.AffectedRows - (*FlightMetadata)(nil), // 8: greptime.v1.FlightMetadata - (*DdlRequest)(nil), // 9: greptime.v1.DdlRequest - (*Column)(nil), // 10: greptime.v1.Column + (*PromRangeQuery)(nil), // 6: greptime.v1.PromRangeQuery + (*InsertRequest)(nil), // 7: greptime.v1.InsertRequest + (*AffectedRows)(nil), // 8: greptime.v1.AffectedRows + (*FlightMetadata)(nil), // 9: greptime.v1.FlightMetadata + (*DdlRequest)(nil), // 10: greptime.v1.DdlRequest + (*Column)(nil), // 11: greptime.v1.Column } var file_greptime_v1_database_proto_depIdxs = []int32{ 1, // 0: greptime.v1.RequestHeader.authorization:type_name -> greptime.v1.AuthHeader 2, // 1: greptime.v1.AuthHeader.basic:type_name -> greptime.v1.Basic 3, // 2: greptime.v1.AuthHeader.token:type_name -> greptime.v1.Token 0, // 3: greptime.v1.GreptimeRequest.header:type_name -> greptime.v1.RequestHeader - 6, // 4: greptime.v1.GreptimeRequest.insert:type_name -> greptime.v1.InsertRequest + 7, // 4: greptime.v1.GreptimeRequest.insert:type_name -> greptime.v1.InsertRequest 5, // 5: greptime.v1.GreptimeRequest.query:type_name -> greptime.v1.QueryRequest - 9, // 6: greptime.v1.GreptimeRequest.ddl:type_name -> greptime.v1.DdlRequest - 10, // 7: greptime.v1.InsertRequest.columns:type_name -> greptime.v1.Column - 7, // 8: greptime.v1.FlightMetadata.affected_rows:type_name -> greptime.v1.AffectedRows - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 10, // 6: greptime.v1.GreptimeRequest.ddl:type_name -> greptime.v1.DdlRequest + 6, // 7: greptime.v1.QueryRequest.prom_range_query:type_name -> greptime.v1.PromRangeQuery + 11, // 8: greptime.v1.InsertRequest.columns:type_name -> greptime.v1.Column + 8, // 9: greptime.v1.FlightMetadata.affected_rows:type_name -> greptime.v1.AffectedRows + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_greptime_v1_database_proto_init() } @@ -823,7 +920,7 @@ func file_greptime_v1_database_proto_init() { } } file_greptime_v1_database_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InsertRequest); i { + switch v := v.(*PromRangeQuery); i { case 0: return &v.state case 1: @@ -835,7 +932,7 @@ func file_greptime_v1_database_proto_init() { } } file_greptime_v1_database_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AffectedRows); i { + switch v := v.(*InsertRequest); i { case 0: return &v.state case 1: @@ -847,6 +944,18 @@ func file_greptime_v1_database_proto_init() { } } file_greptime_v1_database_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AffectedRows); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_greptime_v1_database_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FlightMetadata); i { case 0: return &v.state @@ -871,6 +980,7 @@ func file_greptime_v1_database_proto_init() { file_greptime_v1_database_proto_msgTypes[5].OneofWrappers = []interface{}{ (*QueryRequest_Sql)(nil), (*QueryRequest_LogicalPlan)(nil), + (*QueryRequest_PromRangeQuery)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -878,7 +988,7 @@ func file_greptime_v1_database_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_greptime_v1_database_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/greptime/v1/database.proto b/proto/greptime/v1/database.proto index 0941f8b..6a877b2 100644 --- a/proto/greptime/v1/database.proto +++ b/proto/greptime/v1/database.proto @@ -47,9 +47,17 @@ message QueryRequest { oneof query { string sql = 1; bytes logical_plan = 2; + PromRangeQuery prom_range_query = 3; } } +message PromRangeQuery { + string query = 1; + string start = 2; + string end = 3; + string step = 4; +} + message InsertRequest { string table_name = 1; diff --git a/src/v1/meta.rs b/src/v1/meta.rs index f102736..57b6a15 100644 --- a/src/v1/meta.rs +++ b/src/v1/meta.rs @@ -45,7 +45,7 @@ impl PeerDict { } } -#[allow(clippy::derive_hash_xor_eq)] +#[allow(clippy::derived_hash_with_manual_eq)] impl Hash for Peer { fn hash(&self, state: &mut H) { self.id.hash(state);