aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorАлександр Новожилов <mrlolthe1st@ydb.tech>2024-02-01 18:07:25 +0300
committerGitHub <noreply@github.com>2024-02-01 18:07:25 +0300
commitb5853aa1bb9fc92c70a468517f7199aa2ba58d17 (patch)
treecabde60b5d3f0b26b6981bf6bcd797e2a03e5af6
parenta8d35a68927197a9f938592b2ee489b1ed4facfb (diff)
downloadydb-b5853aa1bb9fc92c70a468517f7199aa2ba58d17.tar.gz
YQL-17714: Support key ranges (#1520)
* YQL-17714: Support key ranges * over ::parse
-rw-r--r--ydb/library/yql/providers/yt/comp_nodes/dq/dq_yt_rpc_helpers.cpp44
1 files changed, 5 insertions, 39 deletions
diff --git a/ydb/library/yql/providers/yt/comp_nodes/dq/dq_yt_rpc_helpers.cpp b/ydb/library/yql/providers/yt/comp_nodes/dq/dq_yt_rpc_helpers.cpp
index b801aa8ef5d..f0e2932778a 100644
--- a/ydb/library/yql/providers/yt/comp_nodes/dq/dq_yt_rpc_helpers.cpp
+++ b/ydb/library/yql/providers/yt/comp_nodes/dq/dq_yt_rpc_helpers.cpp
@@ -5,47 +5,13 @@
namespace NYql::NDqs {
NYT::NYPath::TRichYPath ConvertYPathFromOld(const NYT::TRichYPath& richYPath) {
- NYT::NYPath::TRichYPath tableYPath(richYPath.Path_);
- const auto& rngs = richYPath.GetRanges();
- if (rngs) {
- TVector<NYT::NChunkClient::TReadRange> ranges;
- for (const auto& rng: *rngs) {
- auto& range = ranges.emplace_back();
- if (rng.LowerLimit_.Offset_) {
- range.LowerLimit().SetOffset(*rng.LowerLimit_.Offset_);
- }
-
- if (rng.LowerLimit_.TabletIndex_) {
- range.LowerLimit().SetTabletIndex(*rng.LowerLimit_.TabletIndex_);
- }
-
- if (rng.LowerLimit_.RowIndex_) {
- range.LowerLimit().SetRowIndex(*rng.LowerLimit_.RowIndex_);
- }
-
- if (rng.UpperLimit_.Offset_) {
- range.UpperLimit().SetOffset(*rng.UpperLimit_.Offset_);
- }
-
- if (rng.UpperLimit_.TabletIndex_) {
- range.UpperLimit().SetTabletIndex(*rng.UpperLimit_.TabletIndex_);
- }
-
- if (rng.UpperLimit_.RowIndex_) {
- range.UpperLimit().SetRowIndex(*rng.UpperLimit_.RowIndex_);
- }
- }
- tableYPath.SetRanges(std::move(ranges));
- }
-
- if (richYPath.Columns_) {
- tableYPath.SetColumns(richYPath.Columns_->Parts_);
- }
-
- return tableYPath;
+ TStringStream ss;
+ NYT::PathToNode(richYPath).Save(&ss);
+ NYT::NYPath::TRichYPath path;
+ NYT::NYPath::Deserialize(path, NYT::NYTree::ConvertToNode(NYT::NYson::TYsonString(ss.Str())));
+ return path;
}
-
std::unique_ptr<TSettingsHolder> CreateInputStreams(bool isArrow, const TString& token, const TString& clusterName, const ui64 timeout, bool unordered, const TVector<std::pair<NYT::TRichYPath, NYT::TFormat>>& tables, NYT::TNode samplingSpec) {
auto connectionConfig = NYT::New<NYT::NApi::NRpcProxy::TConnectionConfig>();
connectionConfig->ClusterUrl = clusterName;