aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-03-27 15:52:02 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-03-27 15:52:02 +0300
commita35222ff6479216e673af377f4e0ae0aa789d4a3 (patch)
tree86c13a77228091557bd3ee0d76f2d6d92f7fe7c9
parent4507e4aa3929f2600bfe1e58c6db5cbb00b69d2f (diff)
downloadydb-a35222ff6479216e673af377f4e0ae0aa789d4a3.tar.gz
YQL-15415 Push down Unordered.
-rw-r--r--ydb/library/yql/core/common_opt/yql_co_flow2.cpp9
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");