aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-08-07 14:36:14 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-08-07 15:31:57 +0300
commit7640a0d4ec7e1d4c9a4e18a5881629d65fd21c4d (patch)
tree627e012b8ec1d6e29a940d3d5da6309f417d4902
parent591077b1c8d5298bcbd73bb53bf1fafa3be22f3e (diff)
downloadydb-7640a0d4ec7e1d4c9a4e18a5881629d65fd21c4d.tar.gz
YQL-12228 Fix progress for hybrid.
-rw-r--r--ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp10
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;