aboutsummaryrefslogtreecommitdiffstats
path: root/yt
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2023-08-09 18:33:41 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2023-08-09 19:46:48 +0300
commitde51b1709d912ab37330c24e6fe670cf87bc2b8e (patch)
tree276d7fb4095bacff17c114d896475d79b4f6d936 /yt
parent8f78e2428637f3c9fb20bd10336740bb06e46a26 (diff)
downloadydb-de51b1709d912ab37330c24e6fe670cf87bc2b8e.tar.gz
Intermediate changes
Diffstat (limited to 'yt')
-rw-r--r--yt/yql/plugin/bridge/interface.h1
-rw-r--r--yt/yql/plugin/bridge/plugin.cpp11
-rw-r--r--yt/yql/plugin/dynamic/impl.cpp8
-rw-r--r--yt/yql/plugin/native/plugin.cpp7
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;