diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-08-09 18:33:41 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-08-09 19:46:48 +0300 |
commit | de51b1709d912ab37330c24e6fe670cf87bc2b8e (patch) | |
tree | 276d7fb4095bacff17c114d896475d79b4f6d936 /yt | |
parent | 8f78e2428637f3c9fb20bd10336740bb06e46a26 (diff) | |
download | ydb-de51b1709d912ab37330c24e6fe670cf87bc2b8e.tar.gz |
Intermediate changes
Diffstat (limited to 'yt')
-rw-r--r-- | yt/yql/plugin/bridge/interface.h | 1 | ||||
-rw-r--r-- | yt/yql/plugin/bridge/plugin.cpp | 11 | ||||
-rw-r--r-- | yt/yql/plugin/dynamic/impl.cpp | 8 | ||||
-rw-r--r-- | yt/yql/plugin/native/plugin.cpp | 7 |
4 files changed, 13 insertions, 14 deletions
diff --git a/yt/yql/plugin/bridge/interface.h b/yt/yql/plugin/bridge/interface.h index 062adb7ea5..bcfc47f7c4 100644 --- a/yt/yql/plugin/bridge/interface.h +++ b/yt/yql/plugin/bridge/interface.h @@ -24,6 +24,7 @@ struct TBridgeYqlPluginOptions const char* DefaultCluster; const char* OperationAttributes; + ssize_t OperationAttributesLength = 0; const char* YTTokenPath; diff --git a/yt/yql/plugin/bridge/plugin.cpp b/yt/yql/plugin/bridge/plugin.cpp index 52b9f92a01..e0f570f254 100644 --- a/yt/yql/plugin/bridge/plugin.cpp +++ b/yt/yql/plugin/bridge/plugin.cpp @@ -52,9 +52,7 @@ public: }); } - const char* operationAttributes = options.OperationAttributes - ? options.OperationAttributes.ToString().data() - : nullptr; + auto operationAttributesString = options.OperationAttributes ? options.OperationAttributes.ToString() : "{}"; const char* defaultCluster = options.DefaultCluster ? options.DefaultCluster->data() @@ -66,7 +64,8 @@ public: .ClusterCount = static_cast<int>(bridgeClusters.size()), .Clusters = bridgeClusters.data(), .DefaultCluster = defaultCluster, - .OperationAttributes = operationAttributes, + .OperationAttributes = operationAttributesString.data(), + .OperationAttributesLength = static_cast<int>(operationAttributesString.size()), .YTTokenPath = options.YTTokenPath.data(), .LogBackend = &options.LogBackend, }; @@ -76,8 +75,8 @@ public: TQueryResult Run(TString impersonationUser, TString queryText, NYson::TYsonString settings) noexcept override { - const char* settingsData = settings ? settings.ToString().data() : nullptr; - auto* bridgeQueryResult = BridgeRun(BridgePlugin_, impersonationUser.data(), queryText.data(), settingsData); + auto settingsString = settings ? settings.ToString() : "{}"; + auto* bridgeQueryResult = BridgeRun(BridgePlugin_, impersonationUser.data(), queryText.data(), settingsString.data()); auto toString = [] (const char* str, size_t strLength) -> std::optional<TString> { if (!str) { return std::nullopt; diff --git a/yt/yql/plugin/dynamic/impl.cpp b/yt/yql/plugin/dynamic/impl.cpp index e39897c97e..e1a8139ce3 100644 --- a/yt/yql/plugin/dynamic/impl.cpp +++ b/yt/yql/plugin/dynamic/impl.cpp @@ -18,9 +18,9 @@ TBridgeYqlPlugin* BridgeCreateYqlPlugin(const TBridgeYqlPluginOptions* bridgeOpt clusters[Cluster.Cluster] = Cluster.Proxy; } - TYsonString operationAttributes = bridgeOptions->OperationAttributes - ? TYsonString(TString(bridgeOptions->OperationAttributes)) - : TYsonString{}; + auto operationAttributes = bridgeOptions->OperationAttributes + ? TYsonString(TString(bridgeOptions->OperationAttributes, bridgeOptions->OperationAttributesLength)) + : TYsonString(); TYqlPluginOptions options{ .MRJobBinary = TString(bridgeOptions->MRJobBinary), @@ -53,7 +53,7 @@ void BridgeFreeQueryResult(TBridgeQueryResult* result) TBridgeQueryResult* BridgeRun(TBridgeYqlPlugin* plugin, const char* impersonationUser, const char* queryText, const char* settings) { - static const TYsonString EmptyMap = TYsonString(TString("{}")); + static const auto EmptyMap = TYsonString(TString("{}")); auto* nativePlugin = reinterpret_cast<IYqlPlugin*>(plugin); auto* bridgeResult = new TBridgeQueryResult; diff --git a/yt/yql/plugin/native/plugin.cpp b/yt/yql/plugin/native/plugin.cpp index 086f63a2f9..18bf0259a4 100644 --- a/yt/yql/plugin/native/plugin.cpp +++ b/yt/yql/plugin/native/plugin.cpp @@ -128,7 +128,7 @@ public: FuncRegistry_->SetSystemModulePaths(systemModules); - NYql::TUserDataTable userDataTable = GetYqlModuleResolver(ExprContext_, ModuleResolver_, {}, Clusters_, {}); + auto userDataTable = GetYqlModuleResolver(ExprContext_, ModuleResolver_, {}, Clusters_, {}); if (!userDataTable) { TStringStream err; @@ -261,13 +261,12 @@ private: THashMap<TString, TString> Clusters_; std::optional<TString> DefaultCluster_; THashMap<TString, TString> Modules_; - THashSet<TString> Libraries_; TYsonString OperationAttributes_; TString PatchQueryAttributes(TYsonString configAttributes, TYsonString querySettings) { - NYT::TNode querySettingsMap = NodeFromYsonString(querySettings.ToString()); - NYT::TNode resultAttributesMap = NodeFromYsonString(configAttributes.ToString()); + auto querySettingsMap = NodeFromYsonString(querySettings.ToString()); + auto resultAttributesMap = NodeFromYsonString(configAttributes.ToString()); for (const auto& item: querySettingsMap.AsMap()) { resultAttributesMap[item.first] = item.second; |