From 1875447c277194a558cc82f878ee03a3ef0c15cf Mon Sep 17 00:00:00 2001 From: Gleb Solomennikov Date: Mon, 3 Jun 2024 09:24:34 +0000 Subject: [PATCH 1/4] fix --- ydb/core/external_sources/external_source_factory.cpp | 8 ++++++-- .../common/db_id_async_resolver/db_async_resolver.h | 9 +++++++-- .../generic/actors/yql_generic_provider_factories.cpp | 2 +- .../generic/provider/yql_generic_dq_integration.cpp | 5 +++++ .../providers/generic/provider/yql_generic_load_meta.cpp | 5 +++++ 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ydb/core/external_sources/external_source_factory.cpp b/ydb/core/external_sources/external_source_factory.cpp index 939073578b9a..d223485a11fd 100644 --- a/ydb/core/external_sources/external_source_factory.cpp +++ b/ydb/core/external_sources/external_source_factory.cpp @@ -62,7 +62,11 @@ IExternalSourceFactory::TPtr CreateExternalSourceFactory(const std::vector #include #include - +// namespace NYql { enum class EDatabaseType { @@ -16,7 +16,8 @@ enum class EDatabaseType { PostgreSQL, YT, MySQL, - Greenplum + Greenplum, + MsSqlServer }; inline EDatabaseType DatabaseTypeFromDataSourceKind(NConnector::NApi::EDataSourceKind dataSourceKind) { @@ -31,6 +32,8 @@ inline EDatabaseType DatabaseTypeFromDataSourceKind(NConnector::NApi::EDataSourc return EDatabaseType::MySQL; case NConnector::NApi::EDataSourceKind::GREENPLUM: return EDatabaseType::Greenplum; + case NConnector::NApi::EDataSourceKind::MS_SQL_SERVER: + return EDatabaseType::MsSqlServer; default: ythrow yexception() << "Unknown data source kind: " << NConnector::NApi::EDataSourceKind_Name(dataSourceKind); } @@ -48,6 +51,8 @@ inline NConnector::NApi::EDataSourceKind DatabaseTypeToDataSourceKind(EDatabaseT return NConnector::NApi::EDataSourceKind::MYSQL; case EDatabaseType::Greenplum: return NConnector::NApi::EDataSourceKind::GREENPLUM; + case EDatabaseType::MsSqlServer: + return NConnector::NApi::EDataSourceKind::MS_SQL_SERVER; default: ythrow yexception() << "Unknown database type: " << ToString(databaseType); } diff --git a/ydb/library/yql/providers/generic/actors/yql_generic_provider_factories.cpp b/ydb/library/yql/providers/generic/actors/yql_generic_provider_factories.cpp index db51ec9f04ad..6a62e316e004 100644 --- a/ydb/library/yql/providers/generic/actors/yql_generic_provider_factories.cpp +++ b/ydb/library/yql/providers/generic/actors/yql_generic_provider_factories.cpp @@ -31,7 +31,7 @@ namespace NYql::NDq { args.MaxKeysInRequest); }; - for (auto& name : {"ClickHouseGeneric", "PostgreSqlGeneric", "YdbGeneric", "MySqlGeneric", "GreenplumGeneric"}) { + for (auto& name : {"ClickHouseGeneric", "PostgreSqlGeneric", "YdbGeneric", "MySqlGeneric", "GreenplumGeneric", "MsSqlServerGeneric"}) { factory.RegisterSource(name, readActorFactory); factory.RegisterLookupSource(name, lookupActorFactory); } diff --git a/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp b/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp index 7c1a8963518a..ca32b8f4ca10 100644 --- a/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp +++ b/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp @@ -178,6 +178,8 @@ namespace NYql { break; case NYql::NConnector::NApi::GREENPLUM: sourceType = "GreenplumGeneric"; + case NYql::NConnector::NApi::MS_SQL_SERVER: + sourceType = "MsSqlServerGeneric"; break; default: ythrow yexception() << "Data source kind is unknown or not specified"; @@ -219,6 +221,9 @@ namespace NYql { case NConnector::NApi::GREENPLUM: properties["SourceType"] = "Greenplum"; break; + case NConnector::NApi::MS_SQL_SERVER: + properties["SourceType"] = "MsSqlServer"; + break; case NConnector::NApi::DATA_SOURCE_KIND_UNSPECIFIED: break; default: diff --git a/ydb/library/yql/providers/generic/provider/yql_generic_load_meta.cpp b/ydb/library/yql/providers/generic/provider/yql_generic_load_meta.cpp index 54f42b0e5380..a5becd6add88 100644 --- a/ydb/library/yql/providers/generic/provider/yql_generic_load_meta.cpp +++ b/ydb/library/yql/providers/generic/provider/yql_generic_load_meta.cpp @@ -340,6 +340,8 @@ namespace NYql { auto* options = request.mutable_data_source_instance()->mutable_gp_options(); SetSchema(*options, clusterConfig); } break; + case NYql::NConnector::NApi::MS_SQL_SERVER: + break; case NYql::NConnector::NApi::POSTGRESQL: { auto* options = request.mutable_data_source_instance()->mutable_pg_options(); SetSchema(*options, clusterConfig); @@ -386,6 +388,9 @@ namespace NYql { case NYql::NConnector::NApi::POSTGRESQL: dbNameTarget = "postgres"; break; + case NYql::NConnector::NApi::MS_SQL_SERVER: + dbNameTarget = "mssqlserver"; + break; default: ythrow yexception() << "You must provide database name explicitly for data source kind: '" << NYql::NConnector::NApi::EDataSourceKind_Name(dataSourceKind) << "'"; From 3cde28fb2290ec4d9f84509e2e223132c94b5d91 Mon Sep 17 00:00:00 2001 From: Gleb Solomennikov Date: Mon, 3 Jun 2024 13:52:28 +0000 Subject: [PATCH 2/4] fix --- .../providers/common/db_id_async_resolver/db_async_resolver.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h b/ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h index 9d345b71f2e5..ba7de2984f4b 100644 --- a/ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h +++ b/ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h @@ -5,7 +5,7 @@ #include #include #include -// + namespace NYql { enum class EDatabaseType { From 16879f3e31155cbb48ddf9f5a17136d167b8ad2e Mon Sep 17 00:00:00 2001 From: Gleb Solomennikov Date: Mon, 3 Jun 2024 14:26:27 +0000 Subject: [PATCH 3/4] fix --- ydb/core/external_sources/external_source_factory.cpp | 2 +- .../providers/generic/provider/yql_generic_cluster_config.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ydb/core/external_sources/external_source_factory.cpp b/ydb/core/external_sources/external_source_factory.cpp index d223485a11fd..206da850af19 100644 --- a/ydb/core/external_sources/external_source_factory.cpp +++ b/ydb/core/external_sources/external_source_factory.cpp @@ -65,7 +65,7 @@ IExternalSourceFactory::TPtr CreateExternalSourceFactory(const std::vector Date: Mon, 3 Jun 2024 15:08:27 +0000 Subject: [PATCH 4/4] fix --- ydb/core/external_sources/external_source_factory.cpp | 4 ++-- .../common/db_id_async_resolver/db_async_resolver.h | 6 +++--- .../generic/actors/yql_generic_provider_factories.cpp | 2 +- .../generic/provider/yql_generic_dq_integration.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ydb/core/external_sources/external_source_factory.cpp b/ydb/core/external_sources/external_source_factory.cpp index 206da850af19..9378e03ac1fb 100644 --- a/ydb/core/external_sources/external_source_factory.cpp +++ b/ydb/core/external_sources/external_source_factory.cpp @@ -64,9 +64,9 @@ IExternalSourceFactory::TPtr CreateExternalSourceFactory(const std::vector(name, readActorFactory); factory.RegisterLookupSource(name, lookupActorFactory); } diff --git a/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp b/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp index ca32b8f4ca10..4e11dea013ec 100644 --- a/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp +++ b/ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp @@ -179,7 +179,7 @@ namespace NYql { case NYql::NConnector::NApi::GREENPLUM: sourceType = "GreenplumGeneric"; case NYql::NConnector::NApi::MS_SQL_SERVER: - sourceType = "MsSqlServerGeneric"; + sourceType = "MsSQLServerGeneric"; break; default: ythrow yexception() << "Data source kind is unknown or not specified"; @@ -222,7 +222,7 @@ namespace NYql { properties["SourceType"] = "Greenplum"; break; case NConnector::NApi::MS_SQL_SERVER: - properties["SourceType"] = "MsSqlServer"; + properties["SourceType"] = "MsSQLServer"; break; case NConnector::NApi::DATA_SOURCE_KIND_UNSPECIFIED: break;