summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Neporada <[email protected]>2024-08-07 22:50:40 +0300
committerGitHub <[email protected]>2024-08-07 22:50:40 +0300
commitcb6f3c813958906ffb40abade0e6f64dfa490ca0 (patch)
treeb3c7737fd7424e25d5173c3c50a0defc703c418e
parenta77c0ad2e1e92e900e7763c717b1efa51136e305 (diff)
[refactoring] Remove unused GatherParents API (#7541)
-rw-r--r--ydb/core/kqp/opt/kqp_opt_phy_finalize.cpp2
-rw-r--r--ydb/library/yql/ast/yql_expr.cpp23
-rw-r--r--ydb/library/yql/ast/yql_expr.h3
-rw-r--r--ydb/library/yql/dq/opt/dq_opt_phy_finalizing.cpp6
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;
}