aboutsummaryrefslogtreecommitdiffstats
path: root/yql
diff options
context:
space:
mode:
authorninaiad <ninaiad@yandex-team.com>2025-01-30 11:50:00 +0300
committerninaiad <ninaiad@yandex-team.com>2025-01-30 12:14:15 +0300
commita5ef182c0e6740ebc5212f4efff788e6a2bb2564 (patch)
tree52d619d5fa5c4bad9c7eea491faf94f4c815113d /yql
parent1f30505d5b811cf41e718bbaac518b310a1f2b9f (diff)
downloadydb-a5ef182c0e6740ebc5212f4efff788e6a2bb2564.tar.gz
YDB FQ: add MongoDB datasource
YDB FQ: add MongoDB datasource commit_hash:2c7fd05e7defd23d04c725884f3ead05e2493ece
Diffstat (limited to 'yql')
-rw-r--r--yql/essentials/providers/common/proto/gateways_config.proto29
1 files changed, 29 insertions, 0 deletions
diff --git a/yql/essentials/providers/common/proto/gateways_config.proto b/yql/essentials/providers/common/proto/gateways_config.proto
index bd813bade9..6afaaf0dfd 100644
--- a/yql/essentials/providers/common/proto/gateways_config.proto
+++ b/yql/essentials/providers/common/proto/gateways_config.proto
@@ -594,6 +594,7 @@ enum EGenericDataSourceKind {
GREENPLUM = 7;
ORACLE = 8;
LOGGING = 9;
+ MONGO_DB = 10;
}
// EGenericProtocol generalizes various kinds of network protocols supported by different databases.
@@ -640,6 +641,33 @@ message TLoggingDataSourceOptions {
optional string folder_id = 1;
}
+// TMongoDbDataSourceOptions represents settings specific to MongoDB
+message TMongoDbDataSourceOptions {
+ enum EReadingMode {
+ READING_MODE_UNSPECIFIED = 0;
+ // Returns each top level field of the document deserialized into the corresponding YQL type; if the type of some field is ambiguous / inconsistent across several documents it is returned serialized as an YQL Utf8 value
+ TABLE = 1;
+ };
+
+ // Ways of dealing with values read in ReadSplit whose types are inconsistent with types that were deduced in DescribeTable
+ enum EUnexpectedTypeDisplayMode {
+ UNEXPECTED_UNSPECIFIED = 0;
+ UNEXPECTED_AS_NULL = 1;
+ UNEXPECTED_AS_STRING = 2;
+ };
+
+ // Ways of dealing with unsupported data types
+ enum EUnsupportedTypeDisplayMode {
+ UNSUPPORTED_UNSPECIFIED = 0;
+ UNSUPPORTED_OMIT = 1;
+ UNSUPPORTED_AS_STRING = 2;
+ };
+
+ optional EReadingMode reading_mode = 1;
+ optional EUnexpectedTypeDisplayMode unexpected_type_display_mode = 2;
+ optional EUnsupportedTypeDisplayMode unsupported_type_display_mode = 3;
+}
+
// TGenericDataSourceInstance helps to identify the instance of a data source to redirect request to.
message TGenericDataSourceInstance {
// Data source kind
@@ -664,6 +692,7 @@ message TGenericDataSourceInstance {
TGreenplumDataSourceOptions gp_options = 10;
TOracleDataSourceOptions oracle_options = 11;
TLoggingDataSourceOptions logging_options = 12;
+ TMongoDbDataSourceOptions mongodb_options = 13;
}
}