aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-08-07 17:30:46 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-08-07 20:23:15 +0300
commitb76e3a18a545bb224d408a16c5e52289cdffbe02 (patch)
treeba310badca64d6989c471f0bf901ba64fa49418d
parente86838db93808fd09203595e534dbad513bcc53c (diff)
downloadydb-b76e3a18a545bb224d408a16c5e52289cdffbe02.tar.gz
YQL-12228 Fix plan for hybrid.
-rw-r--r--ydb/library/yql/providers/yt/provider/yql_yt_provider_impl.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_provider_impl.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_provider_impl.cpp
index 31e64025f8..0dc50686b7 100644
--- a/ydb/library/yql/providers/yt/provider/yql_yt_provider_impl.cpp
+++ b/ydb/library/yql/providers/yt/provider/yql_yt_provider_impl.cpp
@@ -18,12 +18,18 @@ void ScanPlanDependencies(const TExprNode::TPtr& input, TExprNode::TListType& ch
children.push_back(node);
return false;
}
- if (auto maybeOutput = TMaybeNode<TYtOutput>(node)) {
- children.push_back(GetOutputOp(maybeOutput.Cast()).Ptr());
+ if (const auto maybeOutput = TMaybeNode<TYtOutput>(node)) {
+ const auto& output = maybeOutput.Cast();
+ if (const auto& maybeTryFirst = output.Operation().Maybe<TYtTryFirst>()) {
+ const auto& tryFirst = maybeTryFirst.Cast();
+ children.emplace_back(tryFirst.Second().Ptr());
+ children.emplace_back(tryFirst.First().Ptr());
+ } else
+ children.emplace_back(GetOutputOp(output).Ptr());
return false;
}
if (node->IsCallable("DqCnResult")) { // For TYtDqProcessWrite.
- children.push_back(node->Child(0));
+ children.emplace_back(node->HeadPtr());
return false;
}
return true;