Skip to content

Commit 97660f4

Browse files
committed
feat: add MySQL to list of supported external sources
1 parent 33c0b1e commit 97660f4

File tree

5 files changed

+20
-1
lines changed

5 files changed

+20
-1
lines changed

ydb/core/external_sources/external_source_factory.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ IExternalSourceFactory::TPtr CreateExternalSourceFactory(const std::vector<TStri
4747
ToString(NYql::EDatabaseType::PostgreSQL),
4848
CreateExternalDataSource(TString{NYql::GenericProviderName}, {"MDB_BASIC", "BASIC"}, {"database_name", "protocol", "mdb_cluster_id", "use_tls", "schema"}, hostnamePatternsRegEx)
4949
},
50+
{
51+
ToString(NYql::EDatabaseType::MySQL),
52+
CreateExternalDataSource(TString{NYql::GenericProviderName}, {"MDB_BASIC", "BASIC"}, {"database_name", "protocol", "mdb_cluster_id", "use_tls"}, hostnamePatternsRegEx)
53+
},
5054
{
5155
ToString(NYql::EDatabaseType::Ydb),
5256
CreateExternalDataSource(TString{NYql::GenericProviderName}, {"BASIC", "SERVICE_ACCOUNT"}, {"database_name", "use_tls", "database_id"}, hostnamePatternsRegEx)

ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ enum class EDatabaseType {
1414
DataStreams,
1515
ObjectStorage,
1616
PostgreSQL,
17+
MySQL,
1718
YT
1819
};
1920

@@ -25,6 +26,8 @@ inline EDatabaseType DatabaseTypeFromDataSourceKind(NConnector::NApi::EDataSourc
2526
return EDatabaseType::ClickHouse;
2627
case NConnector::NApi::EDataSourceKind::YDB:
2728
return EDatabaseType::Ydb;
29+
case NConnector::NApi::EDataSourceKind::MYSQL:
30+
return EDatabaseType::MySQL;
2831
default:
2932
ythrow yexception() << "Unknown data source kind: " << NConnector::NApi::EDataSourceKind_Name(dataSourceKind);
3033
}
@@ -38,6 +41,8 @@ inline NConnector::NApi::EDataSourceKind DatabaseTypeToDataSourceKind(EDatabaseT
3841
return NConnector::NApi::EDataSourceKind::CLICKHOUSE;
3942
case EDatabaseType::Ydb:
4043
return NConnector::NApi::EDataSourceKind::YDB;
44+
case EDatabaseType::MySQL:
45+
return NConnector::NApi::EDataSourceKind::MYSQL;
4146
default:
4247
ythrow yexception() << "Unknown database type: " << ToString(databaseType);
4348
}

ydb/library/yql/providers/generic/actors/yql_generic_provider_factories.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace NYql::NDq {
3131
args.MaxKeysInRequest);
3232
};
3333

34-
for (auto& name : {"ClickHouseGeneric", "PostgreSqlGeneric", "YdbGeneric"}) {
34+
for (auto& name : {"ClickHouseGeneric", "PostgreSqlGeneric", "YdbGeneric", "MySqlGeneric"}) {
3535
factory.RegisterSource<Generic::TSource>(name, readActorFactory);
3636
factory.RegisterLookupSource<Generic::TLookupSource>(name, lookupActorFactory);
3737
}

ydb/library/yql/providers/generic/provider/yql_generic_dq_integration.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "yql_generic_dq_integration.h"
22

3+
#include "ydb/library/yql/providers/generic/connector/api/common/data_source.pb.h"
34
#include "yql_generic_mkql_compiler.h"
45
#include "yql_generic_predicate_pushdown.h"
56

@@ -170,6 +171,9 @@ namespace NYql {
170171
case NYql::NConnector::NApi::POSTGRESQL:
171172
sourceType = "PostgreSqlGeneric";
172173
break;
174+
case NYql::NConnector::NApi::MYSQL:
175+
sourceType = "MySqlGeneric";
176+
break;
173177
case NYql::NConnector::NApi::YDB:
174178
sourceType = "YdbGeneric";
175179
break;
@@ -204,6 +208,9 @@ namespace NYql {
204208
case NConnector::NApi::POSTGRESQL:
205209
properties["SourceType"] = "PostgreSql";
206210
break;
211+
case NConnector::NApi::MYSQL:
212+
properties["SourceType"] = "MySql";
213+
break;
207214
case NConnector::NApi::YDB:
208215
properties["SourceType"] = "Ydb";
209216
break;

ydb/library/yql/providers/generic/provider/yql_generic_load_meta.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include "ydb/library/yql/providers/generic/connector/api/common/data_source.pb.h"
12
#include "yql_generic_provider_impl.h"
23

34
#include <library/cpp/json/json_reader.h>
@@ -320,6 +321,8 @@ namespace NYql {
320321
break;
321322
case NYql::NConnector::NApi::YDB:
322323
break;
324+
case NYql::NConnector::NApi::MYSQL:
325+
break;
323326
case NYql::NConnector::NApi::POSTGRESQL: {
324327
// for backward compability set schema "public" by default
325328
// TODO: simplify during https://st.yandex-team.ru/YQ-2494

0 commit comments

Comments
 (0)