diff options
| author | Andrey Neporada <[email protected]> | 2024-08-07 22:50:40 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-07 22:50:40 +0300 |
| commit | cb6f3c813958906ffb40abade0e6f64dfa490ca0 (patch) | |
| tree | b3c7737fd7424e25d5173c3c50a0defc703c418e | |
| parent | a77c0ad2e1e92e900e7763c717b1efa51136e305 (diff) | |
[refactoring] Remove unused GatherParents API (#7541)
| -rw-r--r-- | ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp | 2 | ||||
| -rw-r--r-- | ydb/library/yql/ast/yql_expr.cpp | 23 | ||||
| -rw-r--r-- | ydb/library/yql/ast/yql_expr.h | 3 | ||||
| -rw-r--r-- | ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp | 6 |
4 files changed, 10 insertions, 24 deletions
diff --git a/ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp b/ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp index bfd9839cdf6..5db8b0f36e7 100644 --- a/ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp +++ b/ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp @@ -318,7 +318,7 @@ TExprBase ReplicatePrecompute(TDqStageBase stage, TExprContext& ctx, const TPare NYql::IGraphTransformer::TStatus ReplicatePrecomputeRule(const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) { TParentsMap parents; - GatherParents(*input, parents, true); + GatherParents(*input, parents); auto stages = CollectNodes<TDqStageBase>(input); for (auto& stage : stages) { auto applied = ReplicatePrecompute(stage, ctx, parents); diff --git a/ydb/library/yql/ast/yql_expr.cpp b/ydb/library/yql/ast/yql_expr.cpp index 4849f416e72..7f83054b365 100644 --- a/ydb/library/yql/ast/yql_expr.cpp +++ b/ydb/library/yql/ast/yql_expr.cpp @@ -2228,24 +2228,17 @@ namespace { } } - template <class TPMap> - bool GatherParentsImpl(const TExprNode& node, TPMap& parentsMap, TNodeSet& visited, bool withLeaves) { - if (node.Type() == TExprNode::Arguments) { + bool GatherParentsImpl(const TExprNode& node, TParentsMap& parentsMap, TNodeSet& visited) { + if (node.Type() == TExprNode::Arguments || node.Type() == TExprNode::Atom || node.Type() == TExprNode::World) { return false; } - if (!withLeaves) { - if (node.Type() == TExprNode::Atom || node.Type() == TExprNode::World) { - return false; - } - } - if (!visited.emplace(&node).second) { return true; } node.ForEachChild([&](const TExprNode& child) { - if (GatherParentsImpl<TPMap>(child, parentsMap, visited, withLeaves)) { + if (GatherParentsImpl(child, parentsMap, visited)) { parentsMap[&child].emplace(&node); } }); @@ -3650,16 +3643,10 @@ bool CompareExprTreeParts(const TExprNode& one, const TExprNode& two, const TNod return CompareExpressions(l, r, map, level, visited); } -void GatherParents(const TExprNode& node, TParentsMap& parentsMap, bool withLeaves) { - parentsMap.clear(); - TNodeSet visisted; - GatherParentsImpl<TParentsMap>(node, parentsMap, visisted, withLeaves); -} - -void GatherParentsMulti(const TExprNode& node, TParentsMultiMap& parentsMap, bool withLeaves) { +void GatherParents(const TExprNode& node, TParentsMap& parentsMap) { parentsMap.clear(); TNodeSet visisted; - GatherParentsImpl<TParentsMultiMap>(node, parentsMap, visisted, withLeaves); + GatherParentsImpl(node, parentsMap, visisted); } void CheckCounts(const TExprNode& root) { diff --git a/ydb/library/yql/ast/yql_expr.h b/ydb/library/yql/ast/yql_expr.h index 93f2c773ddc..a063783396e 100644 --- a/ydb/library/yql/ast/yql_expr.h +++ b/ydb/library/yql/ast/yql_expr.h @@ -2834,8 +2834,7 @@ bool CompareExprTrees(const TExprNode*& one, const TExprNode*& two); bool CompareExprTreeParts(const TExprNode& one, const TExprNode& two, const TNodeMap<ui32>& argsMap); -void GatherParents(const TExprNode& node, TParentsMap& parentsMap, bool withLeaves = false); -void GatherParentsMulti(const TExprNode& node, TParentsMultiMap& parentsMap, bool withLeaves = false); +void GatherParents(const TExprNode& node, TParentsMap& parentsMap); struct TConvertToAstSettings { ui32 AnnotationFlags = 0; diff --git a/ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp b/ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp index b93bbcbeaab..b729640c71e 100644 --- a/ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp +++ b/ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp @@ -388,7 +388,7 @@ TVector<TExpr> CollectNodes(const TExprNode::TPtr& input) { return result; } -bool GatherConsumersImpl(const TExprNode& node, TNodeMap<TNodeMultiSet>& consumers, TNodeSet& visited) { +bool GatherConsumersImpl(const TExprNode& node, TParentsMultiMap& consumers, TNodeSet& visited) { if (!visited.emplace(&node).second) { return true; } @@ -454,7 +454,7 @@ bool GatherConsumersImpl(const TExprNode& node, TNodeMap<TNodeMultiSet>& consume return true; } -bool GatherConsumers(const TExprNode& root, TNodeMap<TNodeMultiSet>& consumers) { +bool GatherConsumers(const TExprNode& root, TParentsMultiMap& consumers) { TNodeSet visited; return GatherConsumersImpl(root, consumers, visited); } @@ -469,7 +469,7 @@ IGraphTransformer::TStatus DqReplicateStageMultiOutput(TExprNode::TPtr input, TE // YQL_CLOG(TRACE, CoreDq) << "-- replicate query: " << NCommon::ExprToPrettyString(ctx, *input); // YQL_CLOG(TRACE, CoreDq) << "-- replicate query: " << input->Dump(); - TNodeMap<TNodeMultiSet> consumersMap; + TParentsMultiMap consumersMap; if (!GatherConsumers(*input, consumersMap)) { return IGraphTransformer::TStatus::Ok; } |
