diff options
author | a-romanov <Anton.Romanov@ydb.tech> | 2023-03-27 15:52:02 +0300 |
---|---|---|
committer | a-romanov <Anton.Romanov@ydb.tech> | 2023-03-27 15:52:02 +0300 |
commit | a35222ff6479216e673af377f4e0ae0aa789d4a3 (patch) | |
tree | 86c13a77228091557bd3ee0d76f2d6d92f7fe7c9 | |
parent | 4507e4aa3929f2600bfe1e58c6db5cbb00b69d2f (diff) | |
download | ydb-a35222ff6479216e673af377f4e0ae0aa789d4a3.tar.gz |
YQL-15415 Push down Unordered.
-rw-r--r-- | ydb/library/yql/core/common_opt/yql_co_flow2.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ydb/library/yql/core/common_opt/yql_co_flow2.cpp b/ydb/library/yql/core/common_opt/yql_co_flow2.cpp index 4d1193a6f6..9919845b3a 100644 --- a/ydb/library/yql/core/common_opt/yql_co_flow2.cpp +++ b/ydb/library/yql/core/common_opt/yql_co_flow2.cpp @@ -2180,6 +2180,15 @@ void RegisterCoFlowCallables2(TCallableOptimizerMap& map) { return ctx.ChangeChildren(node->Head(), std::move(children)); } + if (node->Head().IsCallable({ + "Collect", "LazyList", "ForwardList","Iterator","FromFlow","ToFlow","AssumeUnique","AssumeDistinct", + "FilterNullMembers","SkipNullMembers","FilterNullElements","SkipNullElements", + "ExpandMap","WideMap","WideFilter","NarrowMap","NarrowFlatMap","NarrowMultiMap" + })) { + YQL_CLOG(DEBUG, Core) << "Swap " << node->Content() << " with " << node->Head().Content(); + return ctx.SwapWithHead(*node); + } + if (node->Head().IsCallable("TopSort")) { YQL_CLOG(DEBUG, Core) << node->Content() << " over " << node->Head().Content(); return ctx.RenameNode(node->Head(), "Top"); |