From bb110afa5aeaba219ca4e37cca12f02d03359140 Mon Sep 17 00:00:00 2001 From: Roman Udovichenko Date: Mon, 5 Feb 2024 20:42:22 +0000 Subject: [PATCH] Remove aux columns in PushDownYtMapOverSortedMerge optimizer --- .../yt/provider/yql_yt_physical_optimize.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_physical_optimize.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_physical_optimize.cpp index d8276407daf9..3e4db1e71fbb 100644 --- a/ydb/library/yql/providers/yt/provider/yql_yt_physical_optimize.cpp +++ b/ydb/library/yql/providers/yt/provider/yql_yt_physical_optimize.cpp @@ -7435,6 +7435,14 @@ class TYtPhysicalOptProposalTransformer : public TOptimizeTransformerBase { if (!rowSpec.IsSorted()) { return node; } + TMaybeNode columns; + if (rowSpec.HasAuxColumns()) { + TSet members; + for (auto item: rowSpec.GetType()->GetItems()) { + members.insert(item->GetName()); + } + columns = TExprBase(ToAtomList(members, merge.Pos(), ctx)); + } auto mergeSection = merge.Input().Item(0); if (NYql::HasSettingsExcept(mergeSection.Settings().Ref(), EYtSettingType::KeyFilter | EYtSettingType::KeyFilter2)) { @@ -7467,7 +7475,10 @@ class TYtPhysicalOptProposalTransformer : public TOptimizeTransformerBase { .Input() .Add() .Paths() - .Add(path) + .Add() + .InitFrom(path) + .Columns(columns.IsValid() ? columns.Cast() : path.Columns()) + .Build() .Build() .Settings(section.Settings()) .Build()