From a5d586d50c36c5fc75e43f27b4242aef59e80c86 Mon Sep 17 00:00:00 2001 From: Nina Gulevich Date: Sun, 12 Jan 2025 16:23:39 +0300 Subject: [PATCH] MongoDB: DescribeTable draft --- api/common/gateways_config.pb.go | 532 ++++----- api/service/connector.pb.go | 6 +- api/service/connector_grpc.pb.go | 21 +- api/service/protos/connector.pb.go | 970 +++------------- app/client/connector/client.go | 2 +- app/config/bench.pb.go | 98 +- app/config/client.pb.go | 52 +- app/config/server.pb.go | 1030 +++++++---------- app/config/server.proto | 13 + app/server/config/config.debug.yaml | 3 + app/server/config/config.go | 13 + app/server/config/config.prod.yaml | 3 + app/server/data_source_collection.go | 18 + app/server/datasource/mongodb/datasource.go | 126 ++ app/server/datasource/mongodb/doc.go | 1 + app/server/datasource/mongodb/type_mapping.go | 115 ++ app/server/validate.go | 3 +- common/errors.go | 35 + go.mod | 6 + go.sum | 7 + scripts/debug/config/client/mongodb.local.txt | 30 + tests/infra/datasource/docker-compose.yaml | 12 + tests/infra/datasource/mongodb/datasource.go | 54 + tests/infra/datasource/mongodb/init/init.sh | 122 ++ tests/infra/datasource/mongodb/suite.go | 70 ++ tests/infra/datasource/mongodb/tables.go | 124 ++ tests/main_test.go | 6 + tests/suite/suite.go | 35 + tests/utils/constraints.go | 2 +- tests/utils/matching.go | 9 +- 30 files changed, 1664 insertions(+), 1854 deletions(-) create mode 100644 app/server/datasource/mongodb/datasource.go create mode 100644 app/server/datasource/mongodb/doc.go create mode 100644 app/server/datasource/mongodb/type_mapping.go create mode 100644 scripts/debug/config/client/mongodb.local.txt create mode 100644 tests/infra/datasource/mongodb/datasource.go create mode 100644 tests/infra/datasource/mongodb/init/init.sh create mode 100644 tests/infra/datasource/mongodb/suite.go create mode 100644 tests/infra/datasource/mongodb/tables.go diff --git a/api/common/gateways_config.pb.go b/api/common/gateways_config.pb.go index becce1f5..2090a3ac 100644 --- a/api/common/gateways_config.pb.go +++ b/api/common/gateways_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: yql/essentials/providers/common/proto/gateways_config.proto package common @@ -35,21 +35,23 @@ const ( EGenericDataSourceKind_GREENPLUM EGenericDataSourceKind = 7 EGenericDataSourceKind_ORACLE EGenericDataSourceKind = 8 EGenericDataSourceKind_LOGGING EGenericDataSourceKind = 9 + EGenericDataSourceKind_MONGODB EGenericDataSourceKind = 10 ) // Enum value maps for EGenericDataSourceKind. var ( EGenericDataSourceKind_name = map[int32]string{ - 0: "DATA_SOURCE_KIND_UNSPECIFIED", - 1: "CLICKHOUSE", - 2: "POSTGRESQL", - 3: "S3", - 4: "YDB", - 5: "MYSQL", - 6: "MS_SQL_SERVER", - 7: "GREENPLUM", - 8: "ORACLE", - 9: "LOGGING", + 0: "DATA_SOURCE_KIND_UNSPECIFIED", + 1: "CLICKHOUSE", + 2: "POSTGRESQL", + 3: "S3", + 4: "YDB", + 5: "MYSQL", + 6: "MS_SQL_SERVER", + 7: "GREENPLUM", + 8: "ORACLE", + 9: "LOGGING", + 10: "MONGODB", } EGenericDataSourceKind_value = map[string]int32{ "DATA_SOURCE_KIND_UNSPECIFIED": 0, @@ -62,6 +64,7 @@ var ( "GREENPLUM": 7, "ORACLE": 8, "LOGGING": 9, + "MONGODB": 10, } ) @@ -154,11 +157,9 @@ type TGenericEndpoint struct { func (x *TGenericEndpoint) Reset() { *x = TGenericEndpoint{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGenericEndpoint) String() string { @@ -169,7 +170,7 @@ func (*TGenericEndpoint) ProtoMessage() {} func (x *TGenericEndpoint) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -213,11 +214,9 @@ type TGenericCredentials struct { func (x *TGenericCredentials) Reset() { *x = TGenericCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGenericCredentials) String() string { @@ -228,7 +227,7 @@ func (*TGenericCredentials) ProtoMessage() {} func (x *TGenericCredentials) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -292,11 +291,9 @@ type TPostgreSQLDataSourceOptions struct { func (x *TPostgreSQLDataSourceOptions) Reset() { *x = TPostgreSQLDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPostgreSQLDataSourceOptions) String() string { @@ -307,7 +304,7 @@ func (*TPostgreSQLDataSourceOptions) ProtoMessage() {} func (x *TPostgreSQLDataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -338,11 +335,9 @@ type TClickhouseDataSourceOptions struct { func (x *TClickhouseDataSourceOptions) Reset() { *x = TClickhouseDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TClickhouseDataSourceOptions) String() string { @@ -353,7 +348,7 @@ func (*TClickhouseDataSourceOptions) ProtoMessage() {} func (x *TClickhouseDataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -382,11 +377,9 @@ type TS3DataSourceOptions struct { func (x *TS3DataSourceOptions) Reset() { *x = TS3DataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TS3DataSourceOptions) String() string { @@ -397,7 +390,7 @@ func (*TS3DataSourceOptions) ProtoMessage() {} func (x *TS3DataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -438,11 +431,9 @@ type TGreenplumDataSourceOptions struct { func (x *TGreenplumDataSourceOptions) Reset() { *x = TGreenplumDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGreenplumDataSourceOptions) String() string { @@ -453,7 +444,7 @@ func (*TGreenplumDataSourceOptions) ProtoMessage() {} func (x *TGreenplumDataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -490,11 +481,9 @@ type TOracleDataSourceOptions struct { func (x *TOracleDataSourceOptions) Reset() { *x = TOracleDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TOracleDataSourceOptions) String() string { @@ -505,7 +494,7 @@ func (*TOracleDataSourceOptions) ProtoMessage() {} func (x *TOracleDataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -538,11 +527,9 @@ type TLoggingDataSourceOptions struct { func (x *TLoggingDataSourceOptions) Reset() { *x = TLoggingDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingDataSourceOptions) String() string { @@ -553,7 +540,7 @@ func (*TLoggingDataSourceOptions) ProtoMessage() {} func (x *TLoggingDataSourceOptions) ProtoReflect() protoreflect.Message { mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -575,6 +562,67 @@ func (x *TLoggingDataSourceOptions) GetFolderId() string { return "" } +type TMongoDbDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CountDocsToRead uint32 `protobuf:"varint,1,opt,name=count_docs_to_read,json=countDocsToRead,proto3" json:"count_docs_to_read,omitempty"` + DoParse bool `protobuf:"varint,2,opt,name=do_parse,json=doParse,proto3" json:"do_parse,omitempty"` + SkipUnsupportedTypes bool `protobuf:"varint,3,opt,name=skip_unsupported_types,json=skipUnsupportedTypes,proto3" json:"skip_unsupported_types,omitempty"` +} + +func (x *TMongoDbDataSourceOptions) Reset() { + *x = TMongoDbDataSourceOptions{} + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TMongoDbDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TMongoDbDataSourceOptions) ProtoMessage() {} + +func (x *TMongoDbDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TMongoDbDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TMongoDbDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{8} +} + +func (x *TMongoDbDataSourceOptions) GetCountDocsToRead() uint32 { + if x != nil { + return x.CountDocsToRead + } + return 0 +} + +func (x *TMongoDbDataSourceOptions) GetDoParse() bool { + if x != nil { + return x.DoParse + } + return false +} + +func (x *TMongoDbDataSourceOptions) GetSkipUnsupportedTypes() bool { + if x != nil { + return x.SkipUnsupportedTypes + } + return false +} + // TGenericDataSourceInstance helps to identify the instance of a data source to redirect request to. type TGenericDataSourceInstance struct { state protoimpl.MessageState @@ -605,16 +653,15 @@ type TGenericDataSourceInstance struct { // *TGenericDataSourceInstance_GpOptions // *TGenericDataSourceInstance_OracleOptions // *TGenericDataSourceInstance_LoggingOptions + // *TGenericDataSourceInstance_MongodbOptions Options isTGenericDataSourceInstance_Options `protobuf_oneof:"options"` } func (x *TGenericDataSourceInstance) Reset() { *x = TGenericDataSourceInstance{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGenericDataSourceInstance) String() string { @@ -624,8 +671,8 @@ func (x *TGenericDataSourceInstance) String() string { func (*TGenericDataSourceInstance) ProtoMessage() {} func (x *TGenericDataSourceInstance) ProtoReflect() protoreflect.Message { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -637,7 +684,7 @@ func (x *TGenericDataSourceInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use TGenericDataSourceInstance.ProtoReflect.Descriptor instead. func (*TGenericDataSourceInstance) Descriptor() ([]byte, []int) { - return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{8} + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{9} } func (x *TGenericDataSourceInstance) GetKind() EGenericDataSourceKind { @@ -731,6 +778,13 @@ func (x *TGenericDataSourceInstance) GetLoggingOptions() *TLoggingDataSourceOpti return nil } +func (x *TGenericDataSourceInstance) GetMongodbOptions() *TMongoDbDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_MongodbOptions); ok { + return x.MongodbOptions + } + return nil +} + type isTGenericDataSourceInstance_Options interface { isTGenericDataSourceInstance_Options() } @@ -759,6 +813,10 @@ type TGenericDataSourceInstance_LoggingOptions struct { LoggingOptions *TLoggingDataSourceOptions `protobuf:"bytes,12,opt,name=logging_options,json=loggingOptions,proto3,oneof"` } +type TGenericDataSourceInstance_MongodbOptions struct { + MongodbOptions *TMongoDbDataSourceOptions `protobuf:"bytes,13,opt,name=mongodb_options,json=mongodbOptions,proto3,oneof"` +} + func (*TGenericDataSourceInstance_PgOptions) isTGenericDataSourceInstance_Options() {} func (*TGenericDataSourceInstance_ChOptions) isTGenericDataSourceInstance_Options() {} @@ -771,6 +829,8 @@ func (*TGenericDataSourceInstance_OracleOptions) isTGenericDataSourceInstance_Op func (*TGenericDataSourceInstance_LoggingOptions) isTGenericDataSourceInstance_Options() {} +func (*TGenericDataSourceInstance_MongodbOptions) isTGenericDataSourceInstance_Options() {} + type TGenericCredentials_TBasic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -782,11 +842,9 @@ type TGenericCredentials_TBasic struct { func (x *TGenericCredentials_TBasic) Reset() { *x = TGenericCredentials_TBasic{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGenericCredentials_TBasic) String() string { @@ -796,8 +854,8 @@ func (x *TGenericCredentials_TBasic) String() string { func (*TGenericCredentials_TBasic) ProtoMessage() {} func (x *TGenericCredentials_TBasic) ProtoReflect() protoreflect.Message { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -837,11 +895,9 @@ type TGenericCredentials_TToken struct { func (x *TGenericCredentials_TToken) Reset() { *x = TGenericCredentials_TToken{} - if protoimpl.UnsafeEnabled { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGenericCredentials_TToken) String() string { @@ -851,8 +907,8 @@ func (x *TGenericCredentials_TToken) String() string { func (*TGenericCredentials_TToken) ProtoMessage() {} func (x *TGenericCredentials_TToken) ProtoReflect() protoreflect.Message { - mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -929,72 +985,87 @@ var file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc = [ 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x05, 0x0a, - 0x1a, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, - 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x69, 0x63, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x54, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x45, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x67, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, - 0x00, 0x52, 0x09, 0x70, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, - 0x63, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, - 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x53, 0x33, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x99, 0x01, 0x0a, + 0x19, 0x54, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x63, + 0x73, 0x54, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6f, 0x5f, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x6f, 0x50, 0x61, 0x72, + 0x73, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x9f, 0x06, 0x0a, 0x1a, 0x54, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x45, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6c, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x54, 0x6c, 0x73, 0x12, + 0x32, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, + 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, + 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x68, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4e, + 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, + 0x0a, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, + 0x09, 0x73, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x70, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, + 0x0a, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x4f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x00, 0x52, 0x09, 0x73, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, - 0x0a, 0x0a, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2a, 0xb1, 0x01, 0x0a, 0x16, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, - 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, - 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, - 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, - 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x59, 0x44, 0x42, 0x10, 0x04, - 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, - 0x53, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x0d, - 0x0a, 0x09, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x50, 0x4c, 0x55, 0x4d, 0x10, 0x07, 0x12, 0x0a, 0x0a, - 0x06, 0x4f, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x47, - 0x47, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x2a, 0x42, 0x0a, 0x10, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, + 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, + 0x0e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xbe, 0x01, 0x0a, 0x16, 0x45, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x43, 0x4b, + 0x48, 0x4f, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x53, 0x54, 0x47, + 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, 0x12, + 0x07, 0x0a, 0x03, 0x59, 0x44, 0x42, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x59, 0x53, 0x51, + 0x4c, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x53, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x50, + 0x4c, 0x55, 0x4d, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x10, + 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0b, + 0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x47, 0x4f, 0x44, 0x42, 0x10, 0x0a, 0x2a, 0x42, 0x0a, 0x10, 0x45, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x02, 0x42, + 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, + 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1010,8 +1081,8 @@ func file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZI } var file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes = []interface{}{ +var file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes = []any{ (EGenericDataSourceKind)(0), // 0: NYql.EGenericDataSourceKind (EGenericProtocol)(0), // 1: NYql.EGenericProtocol (*TGenericEndpoint)(nil), // 2: NYql.TGenericEndpoint @@ -1022,13 +1093,14 @@ var file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes = [ (*TGreenplumDataSourceOptions)(nil), // 7: NYql.TGreenplumDataSourceOptions (*TOracleDataSourceOptions)(nil), // 8: NYql.TOracleDataSourceOptions (*TLoggingDataSourceOptions)(nil), // 9: NYql.TLoggingDataSourceOptions - (*TGenericDataSourceInstance)(nil), // 10: NYql.TGenericDataSourceInstance - (*TGenericCredentials_TBasic)(nil), // 11: NYql.TGenericCredentials.TBasic - (*TGenericCredentials_TToken)(nil), // 12: NYql.TGenericCredentials.TToken + (*TMongoDbDataSourceOptions)(nil), // 10: NYql.TMongoDbDataSourceOptions + (*TGenericDataSourceInstance)(nil), // 11: NYql.TGenericDataSourceInstance + (*TGenericCredentials_TBasic)(nil), // 12: NYql.TGenericCredentials.TBasic + (*TGenericCredentials_TToken)(nil), // 13: NYql.TGenericCredentials.TToken } var file_yql_essentials_providers_common_proto_gateways_config_proto_depIdxs = []int32{ - 11, // 0: NYql.TGenericCredentials.basic:type_name -> NYql.TGenericCredentials.TBasic - 12, // 1: NYql.TGenericCredentials.token:type_name -> NYql.TGenericCredentials.TToken + 12, // 0: NYql.TGenericCredentials.basic:type_name -> NYql.TGenericCredentials.TBasic + 13, // 1: NYql.TGenericCredentials.token:type_name -> NYql.TGenericCredentials.TToken 0, // 2: NYql.TGenericDataSourceInstance.kind:type_name -> NYql.EGenericDataSourceKind 2, // 3: NYql.TGenericDataSourceInstance.endpoint:type_name -> NYql.TGenericEndpoint 3, // 4: NYql.TGenericDataSourceInstance.credentials:type_name -> NYql.TGenericCredentials @@ -1039,11 +1111,12 @@ var file_yql_essentials_providers_common_proto_gateways_config_proto_depIdxs = [ 7, // 9: NYql.TGenericDataSourceInstance.gp_options:type_name -> NYql.TGreenplumDataSourceOptions 8, // 10: NYql.TGenericDataSourceInstance.oracle_options:type_name -> NYql.TOracleDataSourceOptions 9, // 11: NYql.TGenericDataSourceInstance.logging_options:type_name -> NYql.TLoggingDataSourceOptions - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 10, // 12: NYql.TGenericDataSourceInstance.mongodb_options:type_name -> NYql.TMongoDbDataSourceOptions + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_yql_essentials_providers_common_proto_gateways_config_proto_init() } @@ -1051,151 +1124,18 @@ func file_yql_essentials_providers_common_proto_gateways_config_proto_init() { if File_yql_essentials_providers_common_proto_gateways_config_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGenericEndpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGenericCredentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPostgreSQLDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TClickhouseDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TS3DataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGreenplumDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TOracleDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGenericDataSourceInstance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGenericCredentials_TBasic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGenericCredentials_TToken); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1].OneofWrappers = []any{ (*TGenericCredentials_Basic)(nil), (*TGenericCredentials_Token)(nil), } - file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9].OneofWrappers = []any{ (*TGenericDataSourceInstance_PgOptions)(nil), (*TGenericDataSourceInstance_ChOptions)(nil), (*TGenericDataSourceInstance_S3Options)(nil), (*TGenericDataSourceInstance_GpOptions)(nil), (*TGenericDataSourceInstance_OracleOptions)(nil), (*TGenericDataSourceInstance_LoggingOptions)(nil), + (*TGenericDataSourceInstance_MongodbOptions)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -1203,7 +1143,7 @@ func file_yql_essentials_providers_common_proto_gateways_config_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc, NumEnums: 2, - NumMessages: 11, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/api/service/connector.pb.go b/api/service/connector.pb.go index 10f73bcb..77191d7e 100644 --- a/api/service/connector.pb.go +++ b/api/service/connector.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: ydb/library/yql/providers/generic/connector/api/service/connector.proto package service @@ -67,7 +67,7 @@ var file_ydb_library_yql_providers_generic_connector_api_service_connector_proto 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -var file_ydb_library_yql_providers_generic_connector_api_service_connector_proto_goTypes = []interface{}{ +var file_ydb_library_yql_providers_generic_connector_api_service_connector_proto_goTypes = []any{ (*protos.TListTablesRequest)(nil), // 0: NYql.NConnector.NApi.TListTablesRequest (*protos.TDescribeTableRequest)(nil), // 1: NYql.NConnector.NApi.TDescribeTableRequest (*protos.TListSplitsRequest)(nil), // 2: NYql.NConnector.NApi.TListSplitsRequest diff --git a/api/service/connector_grpc.pb.go b/api/service/connector_grpc.pb.go index e80d9f1b..cc1ec154 100644 --- a/api/service/connector_grpc.pb.go +++ b/api/service/connector_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v3.6.1 +// - protoc-gen-go-grpc v1.2.0 +// - protoc v5.28.3 // source: ydb/library/yql/providers/generic/connector/api/service/connector.proto package service @@ -19,13 +19,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - Connector_ListTables_FullMethodName = "/NYql.NConnector.NApi.Connector/ListTables" - Connector_DescribeTable_FullMethodName = "/NYql.NConnector.NApi.Connector/DescribeTable" - Connector_ListSplits_FullMethodName = "/NYql.NConnector.NApi.Connector/ListSplits" - Connector_ReadSplits_FullMethodName = "/NYql.NConnector.NApi.Connector/ReadSplits" -) - // ConnectorClient is the client API for Connector service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -50,7 +43,7 @@ func NewConnectorClient(cc grpc.ClientConnInterface) ConnectorClient { } func (c *connectorClient) ListTables(ctx context.Context, in *protos.TListTablesRequest, opts ...grpc.CallOption) (Connector_ListTablesClient, error) { - stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[0], Connector_ListTables_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[0], "/NYql.NConnector.NApi.Connector/ListTables", opts...) if err != nil { return nil, err } @@ -83,7 +76,7 @@ func (x *connectorListTablesClient) Recv() (*protos.TListTablesResponse, error) func (c *connectorClient) DescribeTable(ctx context.Context, in *protos.TDescribeTableRequest, opts ...grpc.CallOption) (*protos.TDescribeTableResponse, error) { out := new(protos.TDescribeTableResponse) - err := c.cc.Invoke(ctx, Connector_DescribeTable_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/NYql.NConnector.NApi.Connector/DescribeTable", in, out, opts...) if err != nil { return nil, err } @@ -91,7 +84,7 @@ func (c *connectorClient) DescribeTable(ctx context.Context, in *protos.TDescrib } func (c *connectorClient) ListSplits(ctx context.Context, in *protos.TListSplitsRequest, opts ...grpc.CallOption) (Connector_ListSplitsClient, error) { - stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[1], Connector_ListSplits_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[1], "/NYql.NConnector.NApi.Connector/ListSplits", opts...) if err != nil { return nil, err } @@ -123,7 +116,7 @@ func (x *connectorListSplitsClient) Recv() (*protos.TListSplitsResponse, error) } func (c *connectorClient) ReadSplits(ctx context.Context, in *protos.TReadSplitsRequest, opts ...grpc.CallOption) (Connector_ReadSplitsClient, error) { - stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[2], Connector_ReadSplits_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &Connector_ServiceDesc.Streams[2], "/NYql.NConnector.NApi.Connector/ReadSplits", opts...) if err != nil { return nil, err } @@ -230,7 +223,7 @@ func _Connector_DescribeTable_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Connector_DescribeTable_FullMethodName, + FullMethod: "/NYql.NConnector.NApi.Connector/DescribeTable", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ConnectorServer).DescribeTable(ctx, req.(*protos.TDescribeTableRequest)) diff --git a/api/service/protos/connector.pb.go b/api/service/protos/connector.pb.go index 0c49c0fb..18434246 100644 --- a/api/service/protos/connector.pb.go +++ b/api/service/protos/connector.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: ydb/library/yql/providers/generic/connector/api/service/protos/connector.proto package protos @@ -383,11 +383,9 @@ type TListTablesRequest struct { func (x *TListTablesRequest) Reset() { *x = TListTablesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TListTablesRequest) String() string { @@ -398,7 +396,7 @@ func (*TListTablesRequest) ProtoMessage() {} func (x *TListTablesRequest) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -459,11 +457,9 @@ type TListTablesResponse struct { func (x *TListTablesResponse) Reset() { *x = TListTablesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TListTablesResponse) String() string { @@ -474,7 +470,7 @@ func (*TListTablesResponse) ProtoMessage() {} func (x *TListTablesResponse) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -519,11 +515,9 @@ type TDescribeTableRequest struct { func (x *TDescribeTableRequest) Reset() { *x = TDescribeTableRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TDescribeTableRequest) String() string { @@ -534,7 +528,7 @@ func (*TDescribeTableRequest) ProtoMessage() {} func (x *TDescribeTableRequest) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -581,11 +575,9 @@ type TTypeMappingSettings struct { func (x *TTypeMappingSettings) Reset() { *x = TTypeMappingSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TTypeMappingSettings) String() string { @@ -596,7 +588,7 @@ func (*TTypeMappingSettings) ProtoMessage() {} func (x *TTypeMappingSettings) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -632,11 +624,9 @@ type TDescribeTableResponse struct { func (x *TDescribeTableResponse) Reset() { *x = TDescribeTableResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TDescribeTableResponse) String() string { @@ -647,7 +637,7 @@ func (*TDescribeTableResponse) ProtoMessage() {} func (x *TDescribeTableResponse) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -688,11 +678,9 @@ type TSchema struct { func (x *TSchema) Reset() { *x = TSchema{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSchema) String() string { @@ -703,7 +691,7 @@ func (*TSchema) ProtoMessage() {} func (x *TSchema) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -752,11 +740,9 @@ type TListSplitsRequest struct { func (x *TListSplitsRequest) Reset() { *x = TListSplitsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TListSplitsRequest) String() string { @@ -767,7 +753,7 @@ func (*TListSplitsRequest) ProtoMessage() {} func (x *TListSplitsRequest) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -824,11 +810,9 @@ type TListSplitsResponse struct { func (x *TListSplitsResponse) Reset() { *x = TListSplitsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TListSplitsResponse) String() string { @@ -839,7 +823,7 @@ func (*TListSplitsResponse) ProtoMessage() {} func (x *TListSplitsResponse) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -901,11 +885,9 @@ type TSelect struct { func (x *TSelect) Reset() { *x = TSelect{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect) String() string { @@ -916,7 +898,7 @@ func (*TSelect) ProtoMessage() {} func (x *TSelect) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -990,11 +972,9 @@ type TSplit struct { func (x *TSplit) Reset() { *x = TSplit{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSplit) String() string { @@ -1005,7 +985,7 @@ func (*TSplit) ProtoMessage() {} func (x *TSplit) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1084,11 +1064,9 @@ type TReadSplitsRequest struct { func (x *TReadSplitsRequest) Reset() { *x = TReadSplitsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TReadSplitsRequest) String() string { @@ -1099,7 +1077,7 @@ func (*TReadSplitsRequest) ProtoMessage() {} func (x *TReadSplitsRequest) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1184,11 +1162,9 @@ type TReadSplitsResponse struct { func (x *TReadSplitsResponse) Reset() { *x = TReadSplitsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TReadSplitsResponse) String() string { @@ -1199,7 +1175,7 @@ func (*TReadSplitsResponse) ProtoMessage() {} func (x *TReadSplitsResponse) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1299,11 +1275,9 @@ type TContinuation struct { func (x *TContinuation) Reset() { *x = TContinuation{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TContinuation) String() string { @@ -1314,7 +1288,7 @@ func (*TContinuation) ProtoMessage() {} func (x *TContinuation) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1376,11 +1350,9 @@ type TExpression struct { func (x *TExpression) Reset() { *x = TExpression{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression) String() string { @@ -1391,7 +1363,7 @@ func (*TExpression) ProtoMessage() {} func (x *TExpression) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1535,11 +1507,9 @@ type TPredicate struct { func (x *TPredicate) Reset() { *x = TPredicate{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate) String() string { @@ -1550,7 +1520,7 @@ func (*TPredicate) ProtoMessage() {} func (x *TPredicate) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1749,11 +1719,9 @@ type TError struct { func (x *TError) Reset() { *x = TError{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TError) String() string { @@ -1764,7 +1732,7 @@ func (*TError) ProtoMessage() {} func (x *TError) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1816,11 +1784,9 @@ type TAst struct { func (x *TAst) Reset() { *x = TAst{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TAst) String() string { @@ -1831,7 +1797,7 @@ func (*TAst) ProtoMessage() {} func (x *TAst) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1900,11 +1866,9 @@ type TSelect_TWhat struct { func (x *TSelect_TWhat) Reset() { *x = TSelect_TWhat{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect_TWhat) String() string { @@ -1915,7 +1879,7 @@ func (*TSelect_TWhat) ProtoMessage() {} func (x *TSelect_TWhat) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1950,11 +1914,9 @@ type TSelect_TFrom struct { func (x *TSelect_TFrom) Reset() { *x = TSelect_TFrom{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect_TFrom) String() string { @@ -1965,7 +1927,7 @@ func (*TSelect_TFrom) ProtoMessage() {} func (x *TSelect_TFrom) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2008,11 +1970,9 @@ type TSelect_TWhere struct { func (x *TSelect_TWhere) Reset() { *x = TSelect_TWhere{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect_TWhere) String() string { @@ -2023,7 +1983,7 @@ func (*TSelect_TWhere) ProtoMessage() {} func (x *TSelect_TWhere) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2063,11 +2023,9 @@ type TSelect_TLimit struct { func (x *TSelect_TLimit) Reset() { *x = TSelect_TLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect_TLimit) String() string { @@ -2078,7 +2036,7 @@ func (*TSelect_TLimit) ProtoMessage() {} func (x *TSelect_TLimit) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2122,11 +2080,9 @@ type TSelect_TWhat_TItem struct { func (x *TSelect_TWhat_TItem) Reset() { *x = TSelect_TWhat_TItem{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TSelect_TWhat_TItem) String() string { @@ -2137,7 +2093,7 @@ func (*TSelect_TWhat_TItem) ProtoMessage() {} func (x *TSelect_TWhat_TItem) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2190,11 +2146,9 @@ type TReadSplitsResponse_TColumnSet struct { func (x *TReadSplitsResponse_TColumnSet) Reset() { *x = TReadSplitsResponse_TColumnSet{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TReadSplitsResponse_TColumnSet) String() string { @@ -2205,7 +2159,7 @@ func (*TReadSplitsResponse_TColumnSet) ProtoMessage() {} func (x *TReadSplitsResponse_TColumnSet) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2250,11 +2204,9 @@ type TReadSplitsResponse_TStats struct { func (x *TReadSplitsResponse_TStats) Reset() { *x = TReadSplitsResponse_TStats{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TReadSplitsResponse_TStats) String() string { @@ -2265,7 +2217,7 @@ func (*TReadSplitsResponse_TStats) ProtoMessage() {} func (x *TReadSplitsResponse_TStats) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2304,11 +2256,9 @@ type TReadSplitsResponse_TColumnSet_TColumn struct { func (x *TReadSplitsResponse_TColumnSet_TColumn) Reset() { *x = TReadSplitsResponse_TColumnSet_TColumn{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TReadSplitsResponse_TColumnSet_TColumn) String() string { @@ -2319,7 +2269,7 @@ func (*TReadSplitsResponse_TColumnSet_TColumn) ProtoMessage() {} func (x *TReadSplitsResponse_TColumnSet_TColumn) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2353,11 +2303,9 @@ type TExpression_TArithmeticalExpression struct { func (x *TExpression_TArithmeticalExpression) Reset() { *x = TExpression_TArithmeticalExpression{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression_TArithmeticalExpression) String() string { @@ -2368,7 +2316,7 @@ func (*TExpression_TArithmeticalExpression) ProtoMessage() {} func (x *TExpression_TArithmeticalExpression) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2415,11 +2363,9 @@ type TExpression_TCoalesce struct { func (x *TExpression_TCoalesce) Reset() { *x = TExpression_TCoalesce{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression_TCoalesce) String() string { @@ -2430,7 +2376,7 @@ func (*TExpression_TCoalesce) ProtoMessage() {} func (x *TExpression_TCoalesce) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2467,11 +2413,9 @@ type TExpression_TIf struct { func (x *TExpression_TIf) Reset() { *x = TExpression_TIf{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression_TIf) String() string { @@ -2482,7 +2426,7 @@ func (*TExpression_TIf) ProtoMessage() {} func (x *TExpression_TIf) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2530,11 +2474,9 @@ type TExpression_TCast struct { func (x *TExpression_TCast) Reset() { *x = TExpression_TCast{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression_TCast) String() string { @@ -2545,7 +2487,7 @@ func (*TExpression_TCast) ProtoMessage() {} func (x *TExpression_TCast) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2582,11 +2524,9 @@ type TExpression_TNull struct { func (x *TExpression_TNull) Reset() { *x = TExpression_TNull{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExpression_TNull) String() string { @@ -2597,7 +2537,7 @@ func (*TExpression_TNull) ProtoMessage() {} func (x *TExpression_TNull) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2623,11 +2563,9 @@ type TPredicate_TNegation struct { func (x *TPredicate_TNegation) Reset() { *x = TPredicate_TNegation{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TNegation) String() string { @@ -2638,7 +2576,7 @@ func (*TPredicate_TNegation) ProtoMessage() {} func (x *TPredicate_TNegation) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2671,11 +2609,9 @@ type TPredicate_TConjunction struct { func (x *TPredicate_TConjunction) Reset() { *x = TPredicate_TConjunction{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TConjunction) String() string { @@ -2686,7 +2622,7 @@ func (*TPredicate_TConjunction) ProtoMessage() {} func (x *TPredicate_TConjunction) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2719,11 +2655,9 @@ type TPredicate_TDisjunction struct { func (x *TPredicate_TDisjunction) Reset() { *x = TPredicate_TDisjunction{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TDisjunction) String() string { @@ -2734,7 +2668,7 @@ func (*TPredicate_TDisjunction) ProtoMessage() {} func (x *TPredicate_TDisjunction) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2767,11 +2701,9 @@ type TPredicate_TCoalesce struct { func (x *TPredicate_TCoalesce) Reset() { *x = TPredicate_TCoalesce{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TCoalesce) String() string { @@ -2782,7 +2714,7 @@ func (*TPredicate_TCoalesce) ProtoMessage() {} func (x *TPredicate_TCoalesce) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2819,11 +2751,9 @@ type TPredicate_TIf struct { func (x *TPredicate_TIf) Reset() { *x = TPredicate_TIf{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TIf) String() string { @@ -2834,7 +2764,7 @@ func (*TPredicate_TIf) ProtoMessage() {} func (x *TPredicate_TIf) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2883,11 +2813,9 @@ type TPredicate_TBetween struct { func (x *TPredicate_TBetween) Reset() { *x = TPredicate_TBetween{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TBetween) String() string { @@ -2898,7 +2826,7 @@ func (*TPredicate_TBetween) ProtoMessage() {} func (x *TPredicate_TBetween) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2946,11 +2874,9 @@ type TPredicate_TIn struct { func (x *TPredicate_TIn) Reset() { *x = TPredicate_TIn{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TIn) String() string { @@ -2961,7 +2887,7 @@ func (*TPredicate_TIn) ProtoMessage() {} func (x *TPredicate_TIn) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3001,11 +2927,9 @@ type TPredicate_TIsNull struct { func (x *TPredicate_TIsNull) Reset() { *x = TPredicate_TIsNull{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TIsNull) String() string { @@ -3016,7 +2940,7 @@ func (*TPredicate_TIsNull) ProtoMessage() {} func (x *TPredicate_TIsNull) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3050,11 +2974,9 @@ type TPredicate_TIsNotNull struct { func (x *TPredicate_TIsNotNull) Reset() { *x = TPredicate_TIsNotNull{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TIsNotNull) String() string { @@ -3065,7 +2987,7 @@ func (*TPredicate_TIsNotNull) ProtoMessage() {} func (x *TPredicate_TIsNotNull) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3099,11 +3021,9 @@ type TPredicate_TBoolExpression struct { func (x *TPredicate_TBoolExpression) Reset() { *x = TPredicate_TBoolExpression{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TBoolExpression) String() string { @@ -3114,7 +3034,7 @@ func (*TPredicate_TBoolExpression) ProtoMessage() {} func (x *TPredicate_TBoolExpression) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3149,11 +3069,9 @@ type TPredicate_TComparison struct { func (x *TPredicate_TComparison) Reset() { *x = TPredicate_TComparison{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TComparison) String() string { @@ -3164,7 +3082,7 @@ func (*TPredicate_TComparison) ProtoMessage() {} func (x *TPredicate_TComparison) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3212,11 +3130,9 @@ type TPredicate_TRegexp struct { func (x *TPredicate_TRegexp) Reset() { *x = TPredicate_TRegexp{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPredicate_TRegexp) String() string { @@ -3227,7 +3143,7 @@ func (*TPredicate_TRegexp) ProtoMessage() {} func (x *TPredicate_TRegexp) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3266,11 +3182,9 @@ type TAst_TList struct { func (x *TAst_TList) Reset() { *x = TAst_TList{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TAst_TList) String() string { @@ -3281,7 +3195,7 @@ func (*TAst_TList) ProtoMessage() {} func (x *TAst_TList) ProtoReflect() protoreflect.Message { mi := &file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3814,7 +3728,7 @@ func file_ydb_library_yql_providers_generic_connector_api_service_protos_connect var file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes = make([]protoimpl.MessageInfo, 43) -var file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_goTypes = []interface{}{ +var file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_goTypes = []any{ (EDateTimeFormat)(0), // 0: NYql.NConnector.NApi.EDateTimeFormat (TReadSplitsRequest_EMode)(0), // 1: NYql.NConnector.NApi.TReadSplitsRequest.EMode (TReadSplitsRequest_EFormat)(0), // 2: NYql.NConnector.NApi.TReadSplitsRequest.EFormat @@ -3973,538 +3887,20 @@ func file_ydb_library_yql_providers_generic_connector_api_service_protos_connect if File_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TListTablesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TListTablesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TDescribeTableRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TTypeMappingSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TDescribeTableResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSchema); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TListSplitsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TListSplitsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSplit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TReadSplitsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TReadSplitsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TContinuation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TAst); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect_TWhat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect_TFrom); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect_TWhere); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect_TLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TSelect_TWhat_TItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TReadSplitsResponse_TColumnSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TReadSplitsResponse_TStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TReadSplitsResponse_TColumnSet_TColumn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression_TArithmeticalExpression); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression_TCoalesce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression_TIf); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression_TCast); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExpression_TNull); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TNegation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TConjunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TDisjunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TCoalesce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TIf); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TBetween); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TIn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TIsNull); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TIsNotNull); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TBoolExpression); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TComparison); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPredicate_TRegexp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TAst_TList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[0].OneofWrappers = []any{ (*TListTablesRequest_Pattern)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[9].OneofWrappers = []any{ (*TSplit_Description)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[11].OneofWrappers = []any{ (*TReadSplitsResponse_ColumnSet)(nil), (*TReadSplitsResponse_ArrowIpcStreaming)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[12].OneofWrappers = []any{ (*TContinuation_Description)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[13].OneofWrappers = []any{ (*TExpression_TypedValue)(nil), (*TExpression_Column)(nil), (*TExpression_ArithmeticalExpression)(nil), @@ -4513,7 +3909,7 @@ func file_ydb_library_yql_providers_generic_connector_api_service_protos_connect (*TExpression_If)(nil), (*TExpression_Cast)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[14].OneofWrappers = []any{ (*TPredicate_Negation)(nil), (*TPredicate_Conjunction)(nil), (*TPredicate_Disjunction)(nil), @@ -4527,11 +3923,11 @@ func file_ydb_library_yql_providers_generic_connector_api_service_protos_connect (*TPredicate_If)(nil), (*TPredicate_Regexp)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[16].OneofWrappers = []any{ (*TAst_Atom)(nil), (*TAst_List)(nil), } - file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21].OneofWrappers = []interface{}{ + file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_msgTypes[21].OneofWrappers = []any{ (*TSelect_TWhat_TItem_Column)(nil), } type x struct{} diff --git a/app/client/connector/client.go b/app/client/connector/client.go index 4572779a..e10aadc1 100644 --- a/app/client/connector/client.go +++ b/app/client/connector/client.go @@ -97,7 +97,7 @@ func callServer( case api_common.EGenericDataSourceKind_CLICKHOUSE, api_common.EGenericDataSourceKind_POSTGRESQL, api_common.EGenericDataSourceKind_YDB, api_common.EGenericDataSourceKind_MS_SQL_SERVER, api_common.EGenericDataSourceKind_MYSQL, api_common.EGenericDataSourceKind_GREENPLUM, - api_common.EGenericDataSourceKind_ORACLE, api_common.EGenericDataSourceKind_LOGGING: + api_common.EGenericDataSourceKind_ORACLE, api_common.EGenericDataSourceKind_LOGGING, api_common.EGenericDataSourceKind_MONGODB: typeMappingSettings := &api_service_protos.TTypeMappingSettings{ DateTimeFormat: dateTimeFormat, } diff --git a/app/config/bench.pb.go b/app/config/bench.pb.go index 02713cd8..c5abf0c7 100644 --- a/app/config/bench.pb.go +++ b/app/config/bench.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: app/config/bench.proto package config @@ -46,11 +46,9 @@ type TBenchmarkConfig struct { func (x *TBenchmarkConfig) Reset() { *x = TBenchmarkConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_bench_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_bench_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TBenchmarkConfig) String() string { @@ -61,7 +59,7 @@ func (*TBenchmarkConfig) ProtoMessage() {} func (x *TBenchmarkConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_bench_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -159,11 +157,9 @@ type TBenchmarkTestCase struct { func (x *TBenchmarkTestCase) Reset() { *x = TBenchmarkTestCase{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_bench_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_bench_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TBenchmarkTestCase) String() string { @@ -174,7 +170,7 @@ func (*TBenchmarkTestCase) ProtoMessage() {} func (x *TBenchmarkTestCase) ProtoReflect() protoreflect.Message { mi := &file_app_config_bench_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -222,11 +218,9 @@ type TBenchmarkServerParams struct { func (x *TBenchmarkServerParams) Reset() { *x = TBenchmarkServerParams{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_bench_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_bench_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TBenchmarkServerParams) String() string { @@ -237,7 +231,7 @@ func (*TBenchmarkServerParams) ProtoMessage() {} func (x *TBenchmarkServerParams) ProtoReflect() protoreflect.Message { mi := &file_app_config_bench_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -274,11 +268,9 @@ type TBenchmarkClientParams struct { func (x *TBenchmarkClientParams) Reset() { *x = TBenchmarkClientParams{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_bench_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_bench_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TBenchmarkClientParams) String() string { @@ -289,7 +281,7 @@ func (*TBenchmarkClientParams) ProtoMessage() {} func (x *TBenchmarkClientParams) ProtoReflect() protoreflect.Message { mi := &file_app_config_bench_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -402,7 +394,7 @@ func file_app_config_bench_proto_rawDescGZIP() []byte { } var file_app_config_bench_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_app_config_bench_proto_goTypes = []interface{}{ +var file_app_config_bench_proto_goTypes = []any{ (*TBenchmarkConfig)(nil), // 0: NYql.Connector.App.Config.TBenchmarkConfig (*TBenchmarkTestCase)(nil), // 1: NYql.Connector.App.Config.TBenchmarkTestCase (*TBenchmarkServerParams)(nil), // 2: NYql.Connector.App.Config.TBenchmarkServerParams @@ -434,57 +426,7 @@ func file_app_config_bench_proto_init() { } file_app_config_client_proto_init() file_app_config_server_proto_init() - if !protoimpl.UnsafeEnabled { - file_app_config_bench_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TBenchmarkConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_bench_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TBenchmarkTestCase); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_bench_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TBenchmarkServerParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_bench_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TBenchmarkClientParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_app_config_bench_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_app_config_bench_proto_msgTypes[0].OneofWrappers = []any{ (*TBenchmarkConfig_ServerRemote)(nil), (*TBenchmarkConfig_ServerLocal)(nil), } diff --git a/app/config/client.pb.go b/app/config/client.pb.go index f9e1b7c2..bb0fccde 100644 --- a/app/config/client.pb.go +++ b/app/config/client.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: app/config/client.proto package config @@ -39,11 +39,9 @@ type TClientConfig struct { func (x *TClientConfig) Reset() { *x = TClientConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_client_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_client_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TClientConfig) String() string { @@ -54,7 +52,7 @@ func (*TClientConfig) ProtoMessage() {} func (x *TClientConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_client_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -112,11 +110,9 @@ type TClientTLSConfig struct { func (x *TClientTLSConfig) Reset() { *x = TClientTLSConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_client_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_client_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TClientTLSConfig) String() string { @@ -127,7 +123,7 @@ func (*TClientTLSConfig) ProtoMessage() {} func (x *TClientTLSConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_client_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -212,7 +208,7 @@ func file_app_config_client_proto_rawDescGZIP() []byte { } var file_app_config_client_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_app_config_client_proto_goTypes = []interface{}{ +var file_app_config_client_proto_goTypes = []any{ (*TClientConfig)(nil), // 0: NYql.Connector.App.Config.TClientConfig (*TClientTLSConfig)(nil), // 1: NYql.Connector.App.Config.TClientTLSConfig (*common.TGenericEndpoint)(nil), // 2: NYql.TGenericEndpoint @@ -235,32 +231,6 @@ func file_app_config_client_proto_init() { if File_app_config_client_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_app_config_client_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TClientConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_client_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TClientTLSConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/app/config/server.pb.go b/app/config/server.pb.go index 1a0ef491..2a5a3e42 100644 --- a/app/config/server.pb.go +++ b/app/config/server.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 +// protoc-gen-go v1.35.2 +// protoc v5.28.3 // source: app/config/server.proto package config @@ -131,7 +131,7 @@ func (x TYdbConfig_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use TYdbConfig_Mode.Descriptor instead. func (TYdbConfig_Mode) EnumDescriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{16, 0} + return file_app_config_server_proto_rawDescGZIP(), []int{17, 0} } // Connector server configuration @@ -167,11 +167,9 @@ type TServerConfig struct { func (x *TServerConfig) Reset() { *x = TServerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TServerConfig) String() string { @@ -182,7 +180,7 @@ func (*TServerConfig) ProtoMessage() {} func (x *TServerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -286,11 +284,9 @@ type TConnectorServerConfig struct { func (x *TConnectorServerConfig) Reset() { *x = TConnectorServerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TConnectorServerConfig) String() string { @@ -301,7 +297,7 @@ func (*TConnectorServerConfig) ProtoMessage() {} func (x *TConnectorServerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -350,11 +346,9 @@ type TServerTLSConfig struct { func (x *TServerTLSConfig) Reset() { *x = TServerTLSConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TServerTLSConfig) String() string { @@ -365,7 +359,7 @@ func (*TServerTLSConfig) ProtoMessage() {} func (x *TServerTLSConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -406,11 +400,9 @@ type TServerReadLimit struct { func (x *TServerReadLimit) Reset() { *x = TServerReadLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TServerReadLimit) String() string { @@ -421,7 +413,7 @@ func (*TServerReadLimit) ProtoMessage() {} func (x *TServerReadLimit) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -457,11 +449,9 @@ type TLoggerConfig struct { func (x *TLoggerConfig) Reset() { *x = TLoggerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggerConfig) String() string { @@ -472,7 +462,7 @@ func (*TLoggerConfig) ProtoMessage() {} func (x *TLoggerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -516,11 +506,9 @@ type TPprofServerConfig struct { func (x *TPprofServerConfig) Reset() { *x = TPprofServerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPprofServerConfig) String() string { @@ -531,7 +519,7 @@ func (*TPprofServerConfig) ProtoMessage() {} func (x *TPprofServerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -575,11 +563,9 @@ type TMetricsServerConfig struct { func (x *TMetricsServerConfig) Reset() { *x = TMetricsServerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TMetricsServerConfig) String() string { @@ -590,7 +576,7 @@ func (*TMetricsServerConfig) ProtoMessage() {} func (x *TMetricsServerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -641,11 +627,9 @@ type TPagingConfig struct { func (x *TPagingConfig) Reset() { *x = TPagingConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPagingConfig) String() string { @@ -656,7 +640,7 @@ func (*TPagingConfig) ProtoMessage() {} func (x *TPagingConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -705,11 +689,9 @@ type TConversionConfig struct { func (x *TConversionConfig) Reset() { *x = TConversionConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TConversionConfig) String() string { @@ -720,7 +702,7 @@ func (*TConversionConfig) ProtoMessage() {} func (x *TConversionConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -766,11 +748,9 @@ type TExponentialBackoffConfig struct { func (x *TExponentialBackoffConfig) Reset() { *x = TExponentialBackoffConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TExponentialBackoffConfig) String() string { @@ -781,7 +761,7 @@ func (*TExponentialBackoffConfig) ProtoMessage() {} func (x *TExponentialBackoffConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -848,11 +828,9 @@ type TClickHouseConfig struct { func (x *TClickHouseConfig) Reset() { *x = TClickHouseConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TClickHouseConfig) String() string { @@ -863,7 +841,7 @@ func (*TClickHouseConfig) ProtoMessage() {} func (x *TClickHouseConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -913,11 +891,9 @@ type TGreenplumConfig struct { func (x *TGreenplumConfig) Reset() { *x = TGreenplumConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TGreenplumConfig) String() string { @@ -928,7 +904,7 @@ func (*TGreenplumConfig) ProtoMessage() {} func (x *TGreenplumConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -974,11 +950,9 @@ type TMsSQLServerConfig struct { func (x *TMsSQLServerConfig) Reset() { *x = TMsSQLServerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TMsSQLServerConfig) String() string { @@ -989,7 +963,7 @@ func (*TMsSQLServerConfig) ProtoMessage() {} func (x *TMsSQLServerConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1039,11 +1013,9 @@ type TMySQLConfig struct { func (x *TMySQLConfig) Reset() { *x = TMySQLConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TMySQLConfig) String() string { @@ -1054,7 +1026,7 @@ func (*TMySQLConfig) ProtoMessage() {} func (x *TMySQLConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1107,11 +1079,9 @@ type TOracleConfig struct { func (x *TOracleConfig) Reset() { *x = TOracleConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TOracleConfig) String() string { @@ -1122,7 +1092,7 @@ func (*TOracleConfig) ProtoMessage() {} func (x *TOracleConfig) ProtoReflect() protoreflect.Message { mi := &file_app_config_server_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1158,6 +1128,72 @@ func (x *TOracleConfig) GetExponentialBackoff() *TExponentialBackoffConfig { return nil } +// TMongoDbConfig contains settings specific for Oracle data source +type TMongoDbConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Timeout for MongoDB connection opening. + // Valid values should satisfy `time.ParseDuration` (e. g. '5s', '100ms', '3h'). + OpenConnectionTimeout string `protobuf:"bytes,1,opt,name=open_connection_timeout,json=openConnectionTimeout,proto3" json:"open_connection_timeout,omitempty"` + // Timeout for MongoDB connection pinging. + // Valid values should satisfy `time.ParseDuration` (e. g. '5s', '100ms', '3h'). + PingConnectionTimeout string `protobuf:"bytes,2,opt,name=ping_connection_timeout,json=pingConnectionTimeout,proto3" json:"ping_connection_timeout,omitempty"` + ExponentialBackoff *TExponentialBackoffConfig `protobuf:"bytes,10,opt,name=exponential_backoff,json=exponentialBackoff,proto3" json:"exponential_backoff,omitempty"` +} + +func (x *TMongoDbConfig) Reset() { + *x = TMongoDbConfig{} + mi := &file_app_config_server_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TMongoDbConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TMongoDbConfig) ProtoMessage() {} + +func (x *TMongoDbConfig) ProtoReflect() protoreflect.Message { + mi := &file_app_config_server_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TMongoDbConfig.ProtoReflect.Descriptor instead. +func (*TMongoDbConfig) Descriptor() ([]byte, []int) { + return file_app_config_server_proto_rawDescGZIP(), []int{15} +} + +func (x *TMongoDbConfig) GetOpenConnectionTimeout() string { + if x != nil { + return x.OpenConnectionTimeout + } + return "" +} + +func (x *TMongoDbConfig) GetPingConnectionTimeout() string { + if x != nil { + return x.PingConnectionTimeout + } + return "" +} + +func (x *TMongoDbConfig) GetExponentialBackoff() *TExponentialBackoffConfig { + if x != nil { + return x.ExponentialBackoff + } + return nil +} + // TPostgreSQLConfig contains settings specific for PostgreSQL data source type TPostgreSQLConfig struct { state protoimpl.MessageState @@ -1172,11 +1208,9 @@ type TPostgreSQLConfig struct { func (x *TPostgreSQLConfig) Reset() { *x = TPostgreSQLConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TPostgreSQLConfig) String() string { @@ -1186,8 +1220,8 @@ func (x *TPostgreSQLConfig) String() string { func (*TPostgreSQLConfig) ProtoMessage() {} func (x *TPostgreSQLConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[16] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1199,7 +1233,7 @@ func (x *TPostgreSQLConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use TPostgreSQLConfig.ProtoReflect.Descriptor instead. func (*TPostgreSQLConfig) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{15} + return file_app_config_server_proto_rawDescGZIP(), []int{16} } func (x *TPostgreSQLConfig) GetOpenConnectionTimeout() string { @@ -1245,11 +1279,9 @@ type TYdbConfig struct { func (x *TYdbConfig) Reset() { *x = TYdbConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TYdbConfig) String() string { @@ -1259,8 +1291,8 @@ func (x *TYdbConfig) String() string { func (*TYdbConfig) ProtoMessage() {} func (x *TYdbConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1272,7 +1304,7 @@ func (x *TYdbConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use TYdbConfig.ProtoReflect.Descriptor instead. func (*TYdbConfig) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{16} + return file_app_config_server_proto_rawDescGZIP(), []int{17} } func (x *TYdbConfig) GetOpenConnectionTimeout() string { @@ -1342,11 +1374,9 @@ type TLoggingConfig struct { func (x *TLoggingConfig) Reset() { *x = TLoggingConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingConfig) String() string { @@ -1356,8 +1386,8 @@ func (x *TLoggingConfig) String() string { func (*TLoggingConfig) ProtoMessage() {} func (x *TLoggingConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[18] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1369,7 +1399,7 @@ func (x *TLoggingConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use TLoggingConfig.ProtoReflect.Descriptor instead. func (*TLoggingConfig) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{17} + return file_app_config_server_proto_rawDescGZIP(), []int{18} } func (x *TLoggingConfig) GetYdb() *TYdbConfig { @@ -1430,15 +1460,14 @@ type TDatasourcesConfig struct { Greenplum *TGreenplumConfig `protobuf:"bytes,6,opt,name=greenplum,proto3" json:"greenplum,omitempty"` Oracle *TOracleConfig `protobuf:"bytes,7,opt,name=oracle,proto3" json:"oracle,omitempty"` Logging *TLoggingConfig `protobuf:"bytes,8,opt,name=logging,proto3" json:"logging,omitempty"` + Mongodb *TMongoDbConfig `protobuf:"bytes,9,opt,name=mongodb,proto3" json:"mongodb,omitempty"` } func (x *TDatasourcesConfig) Reset() { *x = TDatasourcesConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TDatasourcesConfig) String() string { @@ -1448,8 +1477,8 @@ func (x *TDatasourcesConfig) String() string { func (*TDatasourcesConfig) ProtoMessage() {} func (x *TDatasourcesConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[19] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1461,7 +1490,7 @@ func (x *TDatasourcesConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use TDatasourcesConfig.ProtoReflect.Descriptor instead. func (*TDatasourcesConfig) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{18} + return file_app_config_server_proto_rawDescGZIP(), []int{19} } func (x *TDatasourcesConfig) GetYdb() *TYdbConfig { @@ -1520,6 +1549,13 @@ func (x *TDatasourcesConfig) GetLogging() *TLoggingConfig { return nil } +func (x *TDatasourcesConfig) GetMongodb() *TMongoDbConfig { + if x != nil { + return x.Mongodb + } + return nil +} + // Logging connector can resolve the underlying YDB endpoints // via calls to Cloud Logging API type TLoggingConfig_TDynamicResolving struct { @@ -1532,11 +1568,9 @@ type TLoggingConfig_TDynamicResolving struct { func (x *TLoggingConfig_TDynamicResolving) Reset() { *x = TLoggingConfig_TDynamicResolving{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingConfig_TDynamicResolving) String() string { @@ -1546,8 +1580,8 @@ func (x *TLoggingConfig_TDynamicResolving) String() string { func (*TLoggingConfig_TDynamicResolving) ProtoMessage() {} func (x *TLoggingConfig_TDynamicResolving) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1559,7 +1593,7 @@ func (x *TLoggingConfig_TDynamicResolving) ProtoReflect() protoreflect.Message { // Deprecated: Use TLoggingConfig_TDynamicResolving.ProtoReflect.Descriptor instead. func (*TLoggingConfig_TDynamicResolving) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{17, 0} + return file_app_config_server_proto_rawDescGZIP(), []int{18, 0} } func (x *TLoggingConfig_TDynamicResolving) GetLoggingEndpoint() *common.TGenericEndpoint { @@ -1584,11 +1618,9 @@ type TLoggingConfig_TStaticResolving struct { func (x *TLoggingConfig_TStaticResolving) Reset() { *x = TLoggingConfig_TStaticResolving{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingConfig_TStaticResolving) String() string { @@ -1598,8 +1630,8 @@ func (x *TLoggingConfig_TStaticResolving) String() string { func (*TLoggingConfig_TStaticResolving) ProtoMessage() {} func (x *TLoggingConfig_TStaticResolving) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[21] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1611,7 +1643,7 @@ func (x *TLoggingConfig_TStaticResolving) ProtoReflect() protoreflect.Message { // Deprecated: Use TLoggingConfig_TStaticResolving.ProtoReflect.Descriptor instead. func (*TLoggingConfig_TStaticResolving) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{17, 1} + return file_app_config_server_proto_rawDescGZIP(), []int{18, 1} } func (x *TLoggingConfig_TStaticResolving) GetDatabases() []*TLoggingConfig_TStaticResolving_TDatabase { @@ -1641,11 +1673,9 @@ type TLoggingConfig_TStaticResolving_TDatabase struct { func (x *TLoggingConfig_TStaticResolving_TDatabase) Reset() { *x = TLoggingConfig_TStaticResolving_TDatabase{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingConfig_TStaticResolving_TDatabase) String() string { @@ -1655,8 +1685,8 @@ func (x *TLoggingConfig_TStaticResolving_TDatabase) String() string { func (*TLoggingConfig_TStaticResolving_TDatabase) ProtoMessage() {} func (x *TLoggingConfig_TStaticResolving_TDatabase) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[22] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1668,7 +1698,7 @@ func (x *TLoggingConfig_TStaticResolving_TDatabase) ProtoReflect() protoreflect. // Deprecated: Use TLoggingConfig_TStaticResolving_TDatabase.ProtoReflect.Descriptor instead. func (*TLoggingConfig_TStaticResolving_TDatabase) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{17, 1, 0} + return file_app_config_server_proto_rawDescGZIP(), []int{18, 1, 0} } func (x *TLoggingConfig_TStaticResolving_TDatabase) GetEndpoint() *common.TGenericEndpoint { @@ -1697,11 +1727,9 @@ type TLoggingConfig_TStaticResolving_TFolder struct { func (x *TLoggingConfig_TStaticResolving_TFolder) Reset() { *x = TLoggingConfig_TStaticResolving_TFolder{} - if protoimpl.UnsafeEnabled { - mi := &file_app_config_server_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_app_config_server_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TLoggingConfig_TStaticResolving_TFolder) String() string { @@ -1711,8 +1739,8 @@ func (x *TLoggingConfig_TStaticResolving_TFolder) String() string { func (*TLoggingConfig_TStaticResolving_TFolder) ProtoMessage() {} func (x *TLoggingConfig_TStaticResolving_TFolder) ProtoReflect() protoreflect.Message { - mi := &file_app_config_server_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_app_config_server_proto_msgTypes[23] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1724,7 +1752,7 @@ func (x *TLoggingConfig_TStaticResolving_TFolder) ProtoReflect() protoreflect.Me // Deprecated: Use TLoggingConfig_TStaticResolving_TFolder.ProtoReflect.Descriptor instead. func (*TLoggingConfig_TStaticResolving_TFolder) Descriptor() ([]byte, []int) { - return file_app_config_server_proto_rawDescGZIP(), []int{17, 1, 1} + return file_app_config_server_proto_rawDescGZIP(), []int{18, 1, 1} } func (x *TLoggingConfig_TStaticResolving_TFolder) GetLogGroups() map[string]string { @@ -1935,164 +1963,183 @@ var file_app_config_server_proto_rawDesc = []byte{ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, - 0x66, 0x66, 0x22, 0xb2, 0x01, 0x0a, 0x11, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, - 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, + 0x66, 0x66, 0x22, 0xe7, 0x01, 0x0a, 0x0e, 0x54, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, + 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, + 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, + 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xb2, 0x01, 0x0a, + 0x11, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, + 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x22, 0xf6, 0x04, 0x0a, 0x0a, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, + 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xf6, 0x04, 0x0a, 0x0a, 0x54, 0x59, 0x64, 0x62, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, - 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5d, 0x0a, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, - 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x75, 0x73, - 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x6f, 0x72, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x69, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x69, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x12, 0x5d, 0x0a, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x75, 0x73, 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, + 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, + 0x3e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x67, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x44, 0x4c, - 0x49, 0x42, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, 0x10, - 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, - 0x22, 0xca, 0x07, 0x0a, 0x0e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, - 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, 0x57, 0x0a, 0x07, - 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x54, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, + 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, + 0x4e, 0x0a, 0x24, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, + 0x46, 0x69, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, + 0x39, 0x0a, 0x0c, 0x69, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x69, + 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, + 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x22, 0x67, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x2a, 0x0a, 0x26, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x44, 0x4c, 0x49, 0x42, 0x5f, 0x53, 0x43, 0x41, + 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, + 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x22, 0xca, 0x07, 0x0a, 0x0e, 0x54, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, + 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, 0x57, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, + 0x54, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x1a, 0x56, 0x0a, 0x11, 0x54, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x10, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0xea, 0x04, + 0x0a, 0x10, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, + 0x6e, 0x67, 0x12, 0x62, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x1a, 0x56, 0x0a, 0x11, 0x54, - 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, - 0x12, 0x41, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x1a, 0xea, 0x04, 0x0a, 0x10, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x62, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x4e, 0x59, + 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x53, 0x0a, 0x09, 0x54, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb9, + 0x01, 0x0a, 0x07, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x70, 0x0a, 0x0a, 0x6c, 0x6f, + 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, + 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7e, 0x0a, 0x0c, 0x46, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 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, 0x58, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x07, - 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x1a, - 0x53, 0x0a, 0x09, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x12, 0x70, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, - 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x7e, 0x0a, 0x0c, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 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, 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x42, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x46, - 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x22, 0xcd, 0x04, - 0x0a, 0x12, 0x54, 0x44, 0x61, 0x74, 0x61, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, - 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, 0x3d, 0x0a, - 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, - 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x4c, 0x0a, 0x0a, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6c, - 0x69, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x6d, 0x73, - 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, - 0x73, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0b, 0x6d, 0x73, 0x53, 0x71, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4c, 0x0a, - 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, - 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x12, 0x49, 0x0a, 0x09, 0x67, - 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x72, 0x65, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x12, 0x40, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, + 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x92, 0x05, 0x0a, 0x12, 0x54, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, + 0x0a, 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2a, 0x4b, 0x0a, - 0x09, 0x45, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, - 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, - 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, + 0x6f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x48, 0x6f, 0x75, + 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, + 0x6f, 0x75, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x6d, 0x73, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x73, 0x53, 0x51, 0x4c, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x6d, 0x73, 0x53, 0x71, + 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, + 0x72, 0x65, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, + 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, + 0x72, 0x65, 0x73, 0x71, 0x6c, 0x12, 0x49, 0x0a, 0x09, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, + 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, + 0x12, 0x40, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x64, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x2a, 0x4b, 0x0a, 0x09, + 0x45, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, + 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, + 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x09, + 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2108,8 +2155,8 @@ func file_app_config_server_proto_rawDescGZIP() []byte { } var file_app_config_server_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_app_config_server_proto_msgTypes = make([]protoimpl.MessageInfo, 25) -var file_app_config_server_proto_goTypes = []interface{}{ +var file_app_config_server_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_app_config_server_proto_goTypes = []any{ (ELogLevel)(0), // 0: NYql.Connector.App.Config.ELogLevel (TYdbConfig_Mode)(0), // 1: NYql.Connector.App.Config.TYdbConfig.Mode (*TServerConfig)(nil), // 2: NYql.Connector.App.Config.TServerConfig @@ -2127,20 +2174,21 @@ var file_app_config_server_proto_goTypes = []interface{}{ (*TMsSQLServerConfig)(nil), // 14: NYql.Connector.App.Config.TMsSQLServerConfig (*TMySQLConfig)(nil), // 15: NYql.Connector.App.Config.TMySQLConfig (*TOracleConfig)(nil), // 16: NYql.Connector.App.Config.TOracleConfig - (*TPostgreSQLConfig)(nil), // 17: NYql.Connector.App.Config.TPostgreSQLConfig - (*TYdbConfig)(nil), // 18: NYql.Connector.App.Config.TYdbConfig - (*TLoggingConfig)(nil), // 19: NYql.Connector.App.Config.TLoggingConfig - (*TDatasourcesConfig)(nil), // 20: NYql.Connector.App.Config.TDatasourcesConfig - (*TLoggingConfig_TDynamicResolving)(nil), // 21: NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving - (*TLoggingConfig_TStaticResolving)(nil), // 22: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving - (*TLoggingConfig_TStaticResolving_TDatabase)(nil), // 23: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase - (*TLoggingConfig_TStaticResolving_TFolder)(nil), // 24: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder - nil, // 25: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry - nil, // 26: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry - (*common.TGenericEndpoint)(nil), // 27: NYql.TGenericEndpoint + (*TMongoDbConfig)(nil), // 17: NYql.Connector.App.Config.TMongoDbConfig + (*TPostgreSQLConfig)(nil), // 18: NYql.Connector.App.Config.TPostgreSQLConfig + (*TYdbConfig)(nil), // 19: NYql.Connector.App.Config.TYdbConfig + (*TLoggingConfig)(nil), // 20: NYql.Connector.App.Config.TLoggingConfig + (*TDatasourcesConfig)(nil), // 21: NYql.Connector.App.Config.TDatasourcesConfig + (*TLoggingConfig_TDynamicResolving)(nil), // 22: NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving + (*TLoggingConfig_TStaticResolving)(nil), // 23: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving + (*TLoggingConfig_TStaticResolving_TDatabase)(nil), // 24: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase + (*TLoggingConfig_TStaticResolving_TFolder)(nil), // 25: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder + nil, // 26: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry + nil, // 27: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry + (*common.TGenericEndpoint)(nil), // 28: NYql.TGenericEndpoint } var file_app_config_server_proto_depIdxs = []int32{ - 27, // 0: NYql.Connector.App.Config.TServerConfig.endpoint:type_name -> NYql.TGenericEndpoint + 28, // 0: NYql.Connector.App.Config.TServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 1: NYql.Connector.App.Config.TServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 3, // 2: NYql.Connector.App.Config.TServerConfig.connector_server:type_name -> NYql.Connector.App.Config.TConnectorServerConfig 5, // 3: NYql.Connector.App.Config.TServerConfig.read_limit:type_name -> NYql.Connector.App.Config.TServerReadLimit @@ -2149,45 +2197,47 @@ var file_app_config_server_proto_depIdxs = []int32{ 8, // 6: NYql.Connector.App.Config.TServerConfig.metrics_server:type_name -> NYql.Connector.App.Config.TMetricsServerConfig 9, // 7: NYql.Connector.App.Config.TServerConfig.paging:type_name -> NYql.Connector.App.Config.TPagingConfig 10, // 8: NYql.Connector.App.Config.TServerConfig.conversion:type_name -> NYql.Connector.App.Config.TConversionConfig - 20, // 9: NYql.Connector.App.Config.TServerConfig.datasources:type_name -> NYql.Connector.App.Config.TDatasourcesConfig - 27, // 10: NYql.Connector.App.Config.TConnectorServerConfig.endpoint:type_name -> NYql.TGenericEndpoint + 21, // 9: NYql.Connector.App.Config.TServerConfig.datasources:type_name -> NYql.Connector.App.Config.TDatasourcesConfig + 28, // 10: NYql.Connector.App.Config.TConnectorServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 11: NYql.Connector.App.Config.TConnectorServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 0, // 12: NYql.Connector.App.Config.TLoggerConfig.log_level:type_name -> NYql.Connector.App.Config.ELogLevel - 27, // 13: NYql.Connector.App.Config.TPprofServerConfig.endpoint:type_name -> NYql.TGenericEndpoint + 28, // 13: NYql.Connector.App.Config.TPprofServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 14: NYql.Connector.App.Config.TPprofServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig - 27, // 15: NYql.Connector.App.Config.TMetricsServerConfig.endpoint:type_name -> NYql.TGenericEndpoint + 28, // 15: NYql.Connector.App.Config.TMetricsServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 16: NYql.Connector.App.Config.TMetricsServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 11, // 17: NYql.Connector.App.Config.TClickHouseConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig 11, // 18: NYql.Connector.App.Config.TGreenplumConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig 11, // 19: NYql.Connector.App.Config.TMsSQLServerConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig 11, // 20: NYql.Connector.App.Config.TMySQLConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig 11, // 21: NYql.Connector.App.Config.TOracleConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig - 11, // 22: NYql.Connector.App.Config.TPostgreSQLConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig - 1, // 23: NYql.Connector.App.Config.TYdbConfig.mode:type_name -> NYql.Connector.App.Config.TYdbConfig.Mode - 27, // 24: NYql.Connector.App.Config.TYdbConfig.iam_endpoint:type_name -> NYql.TGenericEndpoint - 11, // 25: NYql.Connector.App.Config.TYdbConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig - 18, // 26: NYql.Connector.App.Config.TLoggingConfig.ydb:type_name -> NYql.Connector.App.Config.TYdbConfig - 21, // 27: NYql.Connector.App.Config.TLoggingConfig.dynamic:type_name -> NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving - 22, // 28: NYql.Connector.App.Config.TLoggingConfig.static:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving - 18, // 29: NYql.Connector.App.Config.TDatasourcesConfig.ydb:type_name -> NYql.Connector.App.Config.TYdbConfig - 15, // 30: NYql.Connector.App.Config.TDatasourcesConfig.mysql:type_name -> NYql.Connector.App.Config.TMySQLConfig - 12, // 31: NYql.Connector.App.Config.TDatasourcesConfig.clickhouse:type_name -> NYql.Connector.App.Config.TClickHouseConfig - 14, // 32: NYql.Connector.App.Config.TDatasourcesConfig.ms_sql_server:type_name -> NYql.Connector.App.Config.TMsSQLServerConfig - 17, // 33: NYql.Connector.App.Config.TDatasourcesConfig.postgresql:type_name -> NYql.Connector.App.Config.TPostgreSQLConfig - 13, // 34: NYql.Connector.App.Config.TDatasourcesConfig.greenplum:type_name -> NYql.Connector.App.Config.TGreenplumConfig - 16, // 35: NYql.Connector.App.Config.TDatasourcesConfig.oracle:type_name -> NYql.Connector.App.Config.TOracleConfig - 19, // 36: NYql.Connector.App.Config.TDatasourcesConfig.logging:type_name -> NYql.Connector.App.Config.TLoggingConfig - 27, // 37: NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving.logging_endpoint:type_name -> NYql.TGenericEndpoint - 23, // 38: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.databases:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase - 25, // 39: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.folders:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry - 27, // 40: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase.endpoint:type_name -> NYql.TGenericEndpoint - 26, // 41: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.log_groups:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry - 24, // 42: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry.value:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder - 43, // [43:43] is the sub-list for method output_type - 43, // [43:43] is the sub-list for method input_type - 43, // [43:43] is the sub-list for extension type_name - 43, // [43:43] is the sub-list for extension extendee - 0, // [0:43] is the sub-list for field type_name + 11, // 22: NYql.Connector.App.Config.TMongoDbConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig + 11, // 23: NYql.Connector.App.Config.TPostgreSQLConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig + 1, // 24: NYql.Connector.App.Config.TYdbConfig.mode:type_name -> NYql.Connector.App.Config.TYdbConfig.Mode + 28, // 25: NYql.Connector.App.Config.TYdbConfig.iam_endpoint:type_name -> NYql.TGenericEndpoint + 11, // 26: NYql.Connector.App.Config.TYdbConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig + 19, // 27: NYql.Connector.App.Config.TLoggingConfig.ydb:type_name -> NYql.Connector.App.Config.TYdbConfig + 22, // 28: NYql.Connector.App.Config.TLoggingConfig.dynamic:type_name -> NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving + 23, // 29: NYql.Connector.App.Config.TLoggingConfig.static:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving + 19, // 30: NYql.Connector.App.Config.TDatasourcesConfig.ydb:type_name -> NYql.Connector.App.Config.TYdbConfig + 15, // 31: NYql.Connector.App.Config.TDatasourcesConfig.mysql:type_name -> NYql.Connector.App.Config.TMySQLConfig + 12, // 32: NYql.Connector.App.Config.TDatasourcesConfig.clickhouse:type_name -> NYql.Connector.App.Config.TClickHouseConfig + 14, // 33: NYql.Connector.App.Config.TDatasourcesConfig.ms_sql_server:type_name -> NYql.Connector.App.Config.TMsSQLServerConfig + 18, // 34: NYql.Connector.App.Config.TDatasourcesConfig.postgresql:type_name -> NYql.Connector.App.Config.TPostgreSQLConfig + 13, // 35: NYql.Connector.App.Config.TDatasourcesConfig.greenplum:type_name -> NYql.Connector.App.Config.TGreenplumConfig + 16, // 36: NYql.Connector.App.Config.TDatasourcesConfig.oracle:type_name -> NYql.Connector.App.Config.TOracleConfig + 20, // 37: NYql.Connector.App.Config.TDatasourcesConfig.logging:type_name -> NYql.Connector.App.Config.TLoggingConfig + 17, // 38: NYql.Connector.App.Config.TDatasourcesConfig.mongodb:type_name -> NYql.Connector.App.Config.TMongoDbConfig + 28, // 39: NYql.Connector.App.Config.TLoggingConfig.TDynamicResolving.logging_endpoint:type_name -> NYql.TGenericEndpoint + 24, // 40: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.databases:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase + 26, // 41: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.folders:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry + 28, // 42: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase.endpoint:type_name -> NYql.TGenericEndpoint + 27, // 43: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.log_groups:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry + 25, // 44: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry.value:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder + 45, // [45:45] is the sub-list for method output_type + 45, // [45:45] is the sub-list for method input_type + 45, // [45:45] is the sub-list for extension type_name + 45, // [45:45] is the sub-list for extension extendee + 0, // [0:45] is the sub-list for field type_name } func init() { file_app_config_server_proto_init() } @@ -2195,285 +2245,7 @@ func file_app_config_server_proto_init() { if File_app_config_server_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_app_config_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TServerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TConnectorServerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TServerTLSConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TServerReadLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPprofServerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TMetricsServerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPagingConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TConversionConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TExponentialBackoffConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TClickHouseConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGreenplumConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TMsSQLServerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TMySQLConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TOracleConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPostgreSQLConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TYdbConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TDatasourcesConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingConfig_TDynamicResolving); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingConfig_TStaticResolving); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingConfig_TStaticResolving_TDatabase); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_app_config_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingConfig_TStaticResolving_TFolder); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_app_config_server_proto_msgTypes[17].OneofWrappers = []interface{}{ + file_app_config_server_proto_msgTypes[18].OneofWrappers = []any{ (*TLoggingConfig_Dynamic)(nil), (*TLoggingConfig_Static)(nil), } @@ -2483,7 +2255,7 @@ func file_app_config_server_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_config_server_proto_rawDesc, NumEnums: 2, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/app/config/server.proto b/app/config/server.proto index 02ae134a..14b18d78 100644 --- a/app/config/server.proto +++ b/app/config/server.proto @@ -193,6 +193,18 @@ message TOracleConfig { TExponentialBackoffConfig exponential_backoff = 10; } +// TMongoDbConfig contains settings specific for Oracle data source +message TMongoDbConfig { + // Timeout for MongoDB connection opening. + // Valid values should satisfy `time.ParseDuration` (e. g. '5s', '100ms', '3h'). + string open_connection_timeout = 1; + // Timeout for MongoDB connection pinging. + // Valid values should satisfy `time.ParseDuration` (e. g. '5s', '100ms', '3h'). + string ping_connection_timeout = 2; + + TExponentialBackoffConfig exponential_backoff = 10; +} + // TPostgreSQLConfig contains settings specific for PostgreSQL data source message TPostgreSQLConfig { // Timeout for PostgreSQL connection opening. @@ -291,4 +303,5 @@ message TDatasourcesConfig { TGreenplumConfig greenplum = 6; TOracleConfig oracle = 7; TLoggingConfig logging = 8; + TMongoDbConfig mongodb = 9; } diff --git a/app/server/config/config.debug.yaml b/app/server/config/config.debug.yaml index c480fa98..d7db81a6 100644 --- a/app/server/config/config.debug.yaml +++ b/app/server/config/config.debug.yaml @@ -54,6 +54,9 @@ datasources: oracle: <<: *data_source_default_var + mongodb: + <<: *data_source_default_var + ydb: <<: *data_source_default_var use_underlay_network_for_dedicated_databases: false diff --git a/app/server/config/config.go b/app/server/config/config.go index 9350bb03..c96ed7f0 100644 --- a/app/server/config/config.go +++ b/app/server/config/config.go @@ -121,6 +121,19 @@ func fillServerConfigDefaults(c *config.TServerConfig) { c.Datasources.Oracle.ExponentialBackoff = makeDefaultExponentialBackoffConfig() } + // MongoDB + + if c.Datasources.Mongodb == nil { + c.Datasources.Mongodb = &config.TMongoDbConfig{ + OpenConnectionTimeout: "5s", + PingConnectionTimeout: "5s", + } + } + + if c.Datasources.Mongodb.ExponentialBackoff == nil { + c.Datasources.Mongodb.ExponentialBackoff = makeDefaultExponentialBackoffConfig() + } + // PostgreSQL if c.Datasources.Postgresql == nil { diff --git a/app/server/config/config.prod.yaml b/app/server/config/config.prod.yaml index cfd29e78..13898717 100644 --- a/app/server/config/config.prod.yaml +++ b/app/server/config/config.prod.yaml @@ -49,6 +49,9 @@ datasources: oracle: <<: *data_source_default_var + mongodb: + <<: *data_source_default_var + ydb: <<: *data_source_default_var use_underlay_network_for_dedicated_databases: false diff --git a/app/server/data_source_collection.go b/app/server/data_source_collection.go index 4e6025d7..0ce80f01 100644 --- a/app/server/data_source_collection.go +++ b/app/server/data_source_collection.go @@ -13,10 +13,12 @@ import ( "github.com/ydb-platform/fq-connector-go/app/config" "github.com/ydb-platform/fq-connector-go/app/server/conversion" "github.com/ydb-platform/fq-connector-go/app/server/datasource" + "github.com/ydb-platform/fq-connector-go/app/server/datasource/mongodb" "github.com/ydb-platform/fq-connector-go/app/server/datasource/rdbms" "github.com/ydb-platform/fq-connector-go/app/server/datasource/s3" "github.com/ydb-platform/fq-connector-go/app/server/paging" "github.com/ydb-platform/fq-connector-go/app/server/streaming" + "github.com/ydb-platform/fq-connector-go/app/server/utils/retry" "github.com/ydb-platform/fq-connector-go/common" ) @@ -48,6 +50,14 @@ func (dsc *DataSourceCollection) DescribeTable( case api_common.EGenericDataSourceKind_S3: ds := s3.NewDataSource() + return ds.DescribeTable(ctx, logger, request) + case api_common.EGenericDataSourceKind_MONGODB: + mongoDbCfg := dsc.cfg.Datasources.Mongodb + ds := mongodb.NewDataSource(&retry.RetrierSet{ + MakeConnection: retry.NewRetrierFromConfig(mongoDbCfg.ExponentialBackoff, retry.ErrorCheckerMakeConnectionCommon), + Query: retry.NewRetrierFromConfig(mongoDbCfg.ExponentialBackoff, retry.ErrorCheckerNoop), + }, mongoDbCfg) + return ds.DescribeTable(ctx, logger, request) default: return nil, fmt.Errorf("unsupported data source type '%v': %w", kind, common.ErrDataSourceNotSupported) @@ -75,6 +85,14 @@ func (dsc *DataSourceCollection) DoReadSplit( ds := s3.NewDataSource() return readSplit[string](logger, stream, request, split, ds, dsc.memoryAllocator, dsc.readLimiterFactory, dsc.cfg) + case api_common.EGenericDataSourceKind_MONGODB: + mongoDbCfg := dsc.cfg.Datasources.Mongodb + ds := mongodb.NewDataSource(&retry.RetrierSet{ + MakeConnection: retry.NewRetrierFromConfig(mongoDbCfg.ExponentialBackoff, retry.ErrorCheckerMakeConnectionCommon), + Query: retry.NewRetrierFromConfig(mongoDbCfg.ExponentialBackoff, retry.ErrorCheckerNoop), + }, mongoDbCfg) + + return readSplit(logger, stream, request, split, ds, dsc.memoryAllocator, dsc.readLimiterFactory, dsc.cfg) default: return fmt.Errorf("unsupported data source type '%v': %w", kind, common.ErrDataSourceNotSupported) } diff --git a/app/server/datasource/mongodb/datasource.go b/app/server/datasource/mongodb/datasource.go new file mode 100644 index 00000000..8c449845 --- /dev/null +++ b/app/server/datasource/mongodb/datasource.go @@ -0,0 +1,126 @@ +package mongodb + +import ( + "context" + "fmt" + + "go.uber.org/zap" + + api_common "github.com/ydb-platform/fq-connector-go/api/common" + api_service_protos "github.com/ydb-platform/fq-connector-go/api/service/protos" + "github.com/ydb-platform/fq-connector-go/app/config" + "github.com/ydb-platform/fq-connector-go/app/server/datasource" + "github.com/ydb-platform/fq-connector-go/app/server/paging" + "github.com/ydb-platform/fq-connector-go/app/server/utils/retry" + "github.com/ydb-platform/fq-connector-go/common" + "github.com/ydb-platform/ydb-go-genproto/protos/Ydb" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/options" +) + +var _ datasource.DataSource[string] = (*dataSource)(nil) + +func getUnparsedDocSchema(tableName string) *api_service_protos.TSchema { + return &api_service_protos.TSchema{Columns: []*Ydb.Column{ + {Name: idColumn, Type: common.MakePrimitiveType(Ydb.Type_STRING)}, + {Name: tableName, Type: common.MakePrimitiveType(Ydb.Type_JSON)}, + }} +} + +type dataSource struct { + retrierSet *retry.RetrierSet + cfg *config.TMongoDbConfig +} + +func NewDataSource(retrierSet *retry.RetrierSet, cfg *config.TMongoDbConfig) datasource.DataSource[string] { + return &dataSource{retrierSet: retrierSet, cfg: cfg} +} + +func (ds *dataSource) DescribeTable( + ctx context.Context, + logger *zap.Logger, + request *api_service_protos.TDescribeTableRequest, +) (*api_service_protos.TDescribeTableResponse, error) { + dsi := request.DataSourceInstance + + if dsi.Protocol != api_common.EGenericProtocol_NATIVE { + return nil, fmt.Errorf("cannot run MongoDb connection with protocol '%v'", dsi.Protocol) + } + + mongoDbOptions := dsi.GetMongodbOptions() + if mongoDbOptions == nil { + return nil, fmt.Errorf("TMongoDbDataSourceOptions not provided") + } + + var conn *mongo.Client + err := ds.retrierSet.MakeConnection.Run(ctx, logger, + func() error { + var makeConnErr error + uri := fmt.Sprintf( + "mongodb://%s:%s@%s:%d/%s?%v&authSource=admin", + dsi.Credentials.GetBasic().Username, + dsi.Credentials.GetBasic().Password, + dsi.Endpoint.Host, + dsi.Endpoint.Port, + dsi.Database, + fmt.Sprintf("tls=%v", dsi.UseTls), + ) + + openCtx, openCtxCancel := context.WithTimeout(ctx, common.MustDurationFromString(ds.cfg.OpenConnectionTimeout)) + defer openCtxCancel() + + conn, makeConnErr = mongo.Connect(openCtx, options.Client().ApplyURI(uri)) + if makeConnErr != nil { + return fmt.Errorf("mongo.Connect: %w", makeConnErr) + } + + pingCtx, pingCtxCancel := context.WithTimeout(ctx, common.MustDurationFromString(ds.cfg.PingConnectionTimeout)) + defer pingCtxCancel() + + if makeConnErr = conn.Ping(pingCtx, nil); makeConnErr != nil { + conn.Disconnect(ctx) + return fmt.Errorf("conn.Ping: %w", makeConnErr) + } + + logger.Debug("Connected to MongoDB!") + return nil + }, + ) + + if err != nil { + return nil, fmt.Errorf("retry: %w", err) + } + + defer conn.Disconnect(ctx) + + if !mongoDbOptions.DoParse { + return &api_service_protos.TDescribeTableResponse{Schema: getUnparsedDocSchema(request.Table)}, nil + } + + collection := conn.Database(dsi.Database).Collection(request.Table) + cursor, err := collection.Find(ctx, bson.D{}, options.Find().SetLimit(int64(mongoDbOptions.CountDocsToRead))) + if err != nil { + return nil, fmt.Errorf("colection.Find: %w", err) + } + + var docs []bson.D + cursor.All(ctx, &docs) + + columns, err := BsonToYqlColumn(docs, mongoDbOptions.SkipUnsupportedTypes, logger) + if err != nil { + return nil, fmt.Errorf("BsonToYqlColumn: %w", err) + } + + return &api_service_protos.TDescribeTableResponse{Schema: &api_service_protos.TSchema{Columns: columns}}, nil +} + +func (*dataSource) ReadSplit( + _ context.Context, + _ *zap.Logger, + _ *api_service_protos.TReadSplitsRequest, + _ *api_service_protos.TSplit, + _ paging.SinkFactory[string]) error { + return fmt.Errorf("MongoDB ReadSplit unimplemented") +} diff --git a/app/server/datasource/mongodb/doc.go b/app/server/datasource/mongodb/doc.go new file mode 100644 index 00000000..6e598913 --- /dev/null +++ b/app/server/datasource/mongodb/doc.go @@ -0,0 +1 @@ +package mongodb diff --git a/app/server/datasource/mongodb/type_mapping.go b/app/server/datasource/mongodb/type_mapping.go new file mode 100644 index 00000000..28c9fe39 --- /dev/null +++ b/app/server/datasource/mongodb/type_mapping.go @@ -0,0 +1,115 @@ +package mongodb + +import ( + "errors" + "fmt" + "reflect" + + "go.uber.org/zap" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/bson/primitive" + + "github.com/ydb-platform/fq-connector-go/common" + "github.com/ydb-platform/ydb-go-genproto/protos/Ydb" +) + +var errEmptyArray = errors.New("can't determine field type for items in an empty array") + +const idColumn string = "_id" + +func typeMap(v any, logger *zap.Logger) (*Ydb.Type, error) { + switch v := v.(type) { + case bool: + return common.MakePrimitiveType(Ydb.Type_BOOL), nil + case int, int32: + return common.MakePrimitiveType(Ydb.Type_INT32), nil + case int64: + return common.MakePrimitiveType(Ydb.Type_INT64), nil + case float32: + return common.MakePrimitiveType(Ydb.Type_FLOAT), nil + case float64: + return common.MakePrimitiveType(Ydb.Type_DOUBLE), nil + case string: + return common.MakePrimitiveType(Ydb.Type_UTF8), nil + case primitive.Binary, primitive.ObjectID: + return common.MakePrimitiveType(Ydb.Type_STRING), nil + case primitive.DateTime: + return common.MakePrimitiveType(Ydb.Type_INTERVAL), nil + case primitive.A: + if len(v) > 0 { + if innerType, err := typeMap(v[0], logger); err != nil { + return nil, err + } else { + return common.MakeListType(innerType), nil + } + } else { + return nil, errEmptyArray + } + case primitive.M, primitive.D: + return common.MakePrimitiveType(Ydb.Type_JSON), nil + default: + logger.Debug(fmt.Sprintf("typeMap: unknown type %v", reflect.TypeOf(v))) + } + return nil, common.ErrDataTypeNotSupported +} + +func BsonToYqlColumn(docs []bson.D, doSkipUnsupported bool, logger *zap.Logger) ([]*Ydb.Column, error) { + if len(docs) == 0 { + return []*Ydb.Column{}, nil + } + + deducedTypes := make(map[string]*Ydb.Type) + columnNames := []string{} + + for _, doc := range docs { + for _, v := range doc { + prevType, prevTypeExists := deducedTypes[v.Key] + prevTypeString := prevType.String() + + if t, err := typeMap(v.Value, logger); err != nil { + if errors.Is(err, errEmptyArray) { + if prevTypeExists && prevType.GetListType() == nil { + deducedTypes[v.Key] = common.MakePrimitiveType(Ydb.Type_UTF8) + logger.Debug(fmt.Sprintf("BsonToYqlColumn: keeping serialized %v. curr: %v prev: Array[]", v.Key, prevTypeString)) + } + continue + } else if errors.Is(err, common.ErrDataTypeNotSupported) { + logger.Debug(fmt.Sprintf("BsonToYqlColumn: data not supported: %v", v.Key)) + if !doSkipUnsupported { + if !prevTypeExists { + columnNames = append(columnNames, v.Key) + } + deducedTypes[v.Key] = common.MakePrimitiveType(Ydb.Type_UTF8) + } + + continue + } + + return nil, err + } else { + tString := t.String() + + if !prevTypeExists { + columnNames = append(columnNames, v.Key) + deducedTypes[v.Key] = t + logger.Debug(fmt.Sprintf("BsonToYqlColumn: new column %v %v", v.Key, tString)) + } else if prevTypeString != tString { + deducedTypes[v.Key] = common.MakePrimitiveType(Ydb.Type_UTF8) + logger.Debug(fmt.Sprintf("BsonToYqlColumn: keeping serialized %v. curr: %v prev: %v", v.Key, prevTypeString, tString)) + } + } + } + } + + columns := make([]*Ydb.Column, 0, len(columnNames)) + for _, columnName := range columnNames { + if columnName == idColumn { + columns = append(columns, &Ydb.Column{Name: columnName, Type: deducedTypes[columnName]}) + } else { + columns = append(columns, &Ydb.Column{Name: columnName, Type: common.MakeOptionalType(deducedTypes[columnName])}) + } + } + + return columns, nil +} diff --git a/app/server/validate.go b/app/server/validate.go index cbd37e2a..e2a21ccf 100644 --- a/app/server/validate.go +++ b/app/server/validate.go @@ -123,7 +123,8 @@ func validateDataSourceOptions(dsi *api_common.TGenericDataSourceInstance) error case api_common.EGenericDataSourceKind_CLICKHOUSE, api_common.EGenericDataSourceKind_S3, api_common.EGenericDataSourceKind_YDB, - api_common.EGenericDataSourceKind_MYSQL: + api_common.EGenericDataSourceKind_MYSQL, + api_common.EGenericDataSourceKind_MONGODB: default: return fmt.Errorf("unsupported data source %s: %w", dsi.GetKind().String(), common.ErrInvalidRequest) } diff --git a/common/errors.go b/common/errors.go index 30c07c67..6b8fe158 100644 --- a/common/errors.go +++ b/common/errors.go @@ -16,6 +16,7 @@ import ( "github.com/jackc/pgx/v5/pgconn" ydb_proto "github.com/ydb-platform/ydb-go-genproto/protos/Ydb" ydb "github.com/ydb-platform/ydb-go-sdk/v3" + "go.mongodb.org/mongo-driver/mongo" "go.uber.org/zap" grpc_codes "google.golang.org/grpc/codes" @@ -260,6 +261,38 @@ func newAPIErrorFromTLSError(err error) *api_service_protos.TError { return nil } +func newAPIErrorFromMongoDbError(err error) *api_service_protos.TError { + if err == nil { + return nil + } + + // https://www.mongodb.com/docs/manual/reference/error-codes/ + const ( + kHostNotFound = 7 + kUnauthorized = 13 + kAuthenticationFailed = 18 + ) + + var status ydb_proto.StatusIds_StatusCode + + if mongo.IsTimeout(err) { + status = ydb_proto.StatusIds_TIMEOUT + } else if e, ok := err.(mongo.ServerError); ok { + if e.HasErrorCode(kHostNotFound) { + status = ydb_proto.StatusIds_NOT_FOUND + } else if e.HasErrorCode(kUnauthorized) || e.HasErrorCode(kAuthenticationFailed) { + status = ydb_proto.StatusIds_UNAUTHORIZED + } else { + status = ydb_proto.StatusIds_INTERNAL_ERROR + } + } + + return &api_service_protos.TError{ + Status: status, + Message: err.Error(), + } +} + //nolint:gocyclo func newAPIErrorFromConnectorError(err error) *api_service_protos.TError { var status ydb_proto.StatusIds_StatusCode @@ -330,6 +363,8 @@ func NewAPIErrorFromStdError(err error, kind api_common.EGenericDataSourceKind) apiError = newAPIErrorFromMsSQLServer(err) case api_common.EGenericDataSourceKind_LOGGING: apiError = newAPIErrorFromYdbError(err) + case api_common.EGenericDataSourceKind_MONGODB: + apiError = newAPIErrorFromMongoDbError(err) default: panic(fmt.Sprintf("Unexpected data source kind: %v", api_common.EGenericDataSourceKind_name[int32(kind)])) } diff --git a/go.mod b/go.mod index 9cb9f618..be62c81e 100644 --- a/go.mod +++ b/go.mod @@ -82,6 +82,7 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 // indirect + github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect github.com/paulmach/orb v0.11.1 // indirect github.com/pierrec/lz4/v4 v4.1.18 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -90,9 +91,14 @@ require ( github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726 // indirect github.com/siddontang/go-log v0.0.0-20190221022429-1e957dd83bed // indirect github.com/stretchr/objx v0.5.0 // indirect + github.com/xdg-go/pbkdf2 v1.0.0 // indirect + github.com/xdg-go/scram v1.1.1 // indirect + github.com/xdg-go/stringprep v1.0.3 // indirect github.com/yandex-cloud/go-genproto v0.0.0-20240425114406-68c9b49389a1 // indirect github.com/ydb-platform/ydb-go-yc-metadata v0.5.3 // indirect + github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect github.com/zeebo/xxh3 v1.0.2 // indirect + go.mongodb.org/mongo-driver v1.11.7 // indirect go.opentelemetry.io/otel v1.22.0 // indirect go.opentelemetry.io/otel/trace v1.22.0 // indirect go.uber.org/multierr v1.11.0 // indirect diff --git a/go.sum b/go.sum index 644a256d..4dde1238 100644 --- a/go.sum +++ b/go.sum @@ -190,6 +190,7 @@ github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcs github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU= github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU= @@ -266,8 +267,11 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/wI2L/jsondiff v0.4.0 h1:iP56F9tK83eiLttg3YdmEENtZnwlYd3ezEpNNnfZVyM= github.com/wI2L/jsondiff v0.4.0/go.mod h1:nR/vyy1efuDeAtMwc3AF6nZf/2LD1ID8GTyyJ+K8YB0= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= +github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/yandex-cloud/go-genproto v0.0.0-20211115083454-9ca41db5ed9e/go.mod h1:HEUYX/p8966tMUHHT+TsS0hF/Ca/NYwqprC5WXSDMfE= github.com/yandex-cloud/go-genproto v0.0.0-20240425114406-68c9b49389a1 h1:VDGcTxVXpQ6N2sKdKVzSrt1Rp6xm4thrCH5TeqMoWtY= @@ -283,6 +287,7 @@ github.com/ydb-platform/ydb-go-yc v0.11.0/go.mod h1:uZ5l31+K3rnIeJAi6pzSkEQYT83O github.com/ydb-platform/ydb-go-yc-metadata v0.5.2/go.mod h1:82SQ4L3PewiEmFW4oTMc1sfPjODasIYxD/SKGsbK74s= github.com/ydb-platform/ydb-go-yc-metadata v0.5.3 h1:rA1U3ocLyxX1h2Jfwlgphs03kc1ItXxN619QCI/oGBk= github.com/ydb-platform/ydb-go-yc-metadata v0.5.3/go.mod h1:82SQ4L3PewiEmFW4oTMc1sfPjODasIYxD/SKGsbK74s= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -291,6 +296,8 @@ github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= +go.mongodb.org/mongo-driver v1.11.7 h1:LIwYxASDLGUg/8wOhgOOZhX8tQa/9tgZPgzZoVqJvcs= +go.mongodb.org/mongo-driver v1.11.7/go.mod h1:G9TgswdsWjX4tmDA5zfs2+6AEPpYJwqblyjsfuh8oXY= go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= diff --git a/scripts/debug/config/client/mongodb.local.txt b/scripts/debug/config/client/mongodb.local.txt new file mode 100644 index 00000000..0ae510c9 --- /dev/null +++ b/scripts/debug/config/client/mongodb.local.txt @@ -0,0 +1,30 @@ +connector_server_endpoint { + host: "localhost" + port: 2130 +} + +metrics_server_endpoint { + host: "localhost" + port: 8766 +} + +data_source_instance { + kind: MONGODB + endpoint { + host: "localhost" + port: 27017 + } + database: "connector" + credentials { + basic { + username: "admin" + password: "password" + } + } + protocol: NATIVE + mongodb_options { + count_docs_to_read: 3 + do_parse: true + skip_unsupported_types: true + } +} diff --git a/tests/infra/datasource/docker-compose.yaml b/tests/infra/datasource/docker-compose.yaml index b1e5144f..2ddd295e 100644 --- a/tests/infra/datasource/docker-compose.yaml +++ b/tests/infra/datasource/docker-compose.yaml @@ -98,3 +98,15 @@ services: nofile: soft: 262144 hard: 262144 + + mongodb: + image: mongo:latest + container_name: ${USER}-fq-connector-go-tests-mongodb + ports: + - '27017:27017' + environment: + MONGO_INITDB_DATABASE: connector + MONGO_INITDB_ROOT_USERNAME: admin + MONGO_INITDB_ROOT_PASSWORD: password + volumes: + - ./mongodb/init/init.sh:/docker-entrypoint-initdb.d/init.sh:ro diff --git a/tests/infra/datasource/mongodb/datasource.go b/tests/infra/datasource/mongodb/datasource.go new file mode 100644 index 00000000..cc51947c --- /dev/null +++ b/tests/infra/datasource/mongodb/datasource.go @@ -0,0 +1,54 @@ +package mongodb + +import ( + "fmt" + + api_common "github.com/ydb-platform/fq-connector-go/api/common" + "github.com/ydb-platform/fq-connector-go/tests/infra/datasource" + "github.com/ydb-platform/fq-connector-go/tests/infra/docker_compose" +) + +const ( + serviceName = "mongodb" + internalPort = 27017 + database = "connector" + username = "admin" + password = "password" +) + +var defaultMongoDbOptions *api_common.TMongoDbDataSourceOptions = &api_common.TMongoDbDataSourceOptions{ + CountDocsToRead: 3, + DoParse: true, + SkipUnsupportedTypes: true, +} + +func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_MONGODB, + Database: database, + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ + Username: username, + Password: password, + }, + }, + }, + Protocol: api_common.EGenericProtocol_NATIVE, + UseTls: false, + Options: &api_common.TGenericDataSourceInstance_MongodbOptions{ + MongodbOptions: defaultMongoDbOptions, + }, + } + + var err error + dsi.Endpoint, err = ed.GetEndpoint(serviceName, internalPort) + + if err != nil { + return nil, fmt.Errorf("derive endpoint: %w", err) + } + + return &datasource.DataSource{ + Instances: []*api_common.TGenericDataSourceInstance{dsi}, + }, nil +} diff --git a/tests/infra/datasource/mongodb/init/init.sh b/tests/infra/datasource/mongodb/init/init.sh new file mode 100644 index 00000000..298bef61 --- /dev/null +++ b/tests/infra/datasource/mongodb/init/init.sh @@ -0,0 +1,122 @@ +#!/bin/bash +set -e + +mongosh <