diff options
author | aneporada <[email protected]> | 2023-02-03 22:26:51 +0300 |
---|---|---|
committer | aneporada <[email protected]> | 2023-02-03 22:26:51 +0300 |
commit | 627bd5967f6a8f8ef59b5b768bd49cfffb25bc4a (patch) | |
tree | 0a02c8e23f2d36c6145560df7a7f5b8b6f35b32c | |
parent | 8806efb22f7da9345f0833a8b4ba3bb1ae5edaf4 (diff) |
Enable Top->WideTop optimizer when UseBlocks is set
-rw-r--r-- | ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp b/ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp index e3c22fa00f0..eda8dcd24bd 100644 --- a/ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp +++ b/ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp @@ -4061,8 +4061,10 @@ TExprNode::TPtr OptimizeCombineCore(const TExprNode::TPtr& node, TExprContext& c } template<bool Sort> -TExprNode::TPtr OptimizeTop(const TExprNode::TPtr& node, TExprContext& ctx) { - return node; // TODO +TExprNode::TPtr OptimizeTop(const TExprNode::TPtr& node, TExprContext& ctx, TTypeAnnotationContext& types) { + if (!types.UseBlocks) { + return node; // TODO + } if (const auto& input = node->Head(); input.IsCallable("NarrowMap") && input.Tail().Tail().IsCallable("AsStruct")) { TNodeMap<size_t> indexes(input.Tail().Tail().ChildrenSize()); @@ -7141,11 +7143,11 @@ struct TPeepHoleRules { {"WideMap", &OptimizeWideMaps}, {"NarrowMap", &OptimizeWideMaps}, {"Unordered", &DropUnordered}, - {"Top", &OptimizeTop<false>}, - {"TopSort", &OptimizeTop<true>}, }; static constexpr std::initializer_list<TExtPeepHoleOptimizerMap::value_type> FinalStageExtRulesInit = { + {"Top", &OptimizeTop<false>}, + {"TopSort", &OptimizeTop<true>}, }; static constexpr std::initializer_list<TExtPeepHoleOptimizerMap::value_type> FinalStageNonDetRulesInit = { |