diff options
author | a-romanov <Anton.Romanov@ydb.tech> | 2023-08-07 14:36:14 +0300 |
---|---|---|
committer | a-romanov <Anton.Romanov@ydb.tech> | 2023-08-07 15:31:57 +0300 |
commit | 7640a0d4ec7e1d4c9a4e18a5881629d65fd21c4d (patch) | |
tree | 627e012b8ec1d6e29a940d3d5da6309f417d4902 | |
parent | 591077b1c8d5298bcbd73bb53bf1fafa3be22f3e (diff) | |
download | ydb-7640a0d4ec7e1d4c9a4e18a5881629d65fd21c4d.tar.gz |
YQL-12228 Fix progress for hybrid.
-rw-r--r-- | ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp index 4268395f59e..47286810cc6 100644 --- a/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp +++ b/ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp @@ -977,9 +977,8 @@ private: TPublicIds::TPtr GetPublicIds(const TExprNode::TPtr& root) const { TPublicIds::TPtr publicIds = std::make_shared<TPublicIds>(); VisitExpr(root, [&](const TExprNode::TPtr& node) { - if (TResTransientBase::Match(node.Get())) { - return false; - } else if (TDqReadWrapBase::Match(node.Get())) { + if (TResTransientBase::Match(node.Get()) || TDqReadWrapBase::Match(node.Get()) + || TCoLeft::Match(node.Get()) || TCoRight::Match(node.Get())) { return false; } else if (TDqConnection::Match(node.Get())) { if (const auto publicId = State->TypeCtx->TranslateOperationId(node->UniqueId())) { @@ -989,9 +988,8 @@ private: if (node->HasResult()) { return false; } - } else if (TDqStage::Match(node.Get())) { - const auto& stage = TDqStage(node); - if (!(stage.Ref().StartsExecution() || stage.Ref().HasResult())) { + } else if (const auto& maybeStage = TMaybeNode<TDqStage>(node.Get())) { + if (const auto& stage = maybeStage.Cast(); !(stage.Ref().StartsExecution() || stage.Ref().HasResult())) { if (const auto publicId = State->TypeCtx->TranslateOperationId(node->UniqueId())) { if (const auto settings = NDq::TDqStageSettings::Parse(stage); settings.LogicalId) { publicIds->Stage2publicId[settings.LogicalId] = *publicId; |