diff options
author | Александр Новожилов <mrlolthe1st@ydb.tech> | 2024-02-01 18:07:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-01 18:07:25 +0300 |
commit | b5853aa1bb9fc92c70a468517f7199aa2ba58d17 (patch) | |
tree | cabde60b5d3f0b26b6981bf6bcd797e2a03e5af6 | |
parent | a8d35a68927197a9f938592b2ee489b1ed4facfb (diff) | |
download | ydb-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.cpp | 44 |
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; |