aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraneporada <aneporada@ydb.tech>2023-08-29 07:19:56 +0300
committeraneporada <aneporada@ydb.tech>2023-08-29 07:37:16 +0300
commit8e73d5ba767d74ad34e4558173addee316054be4 (patch)
tree096818c3a286b5611ba2931cc00c010f64552a06
parent83bf33d776ac03c37162fa324f659ce191776308 (diff)
downloadydb-8e73d5ba767d74ad34e4558173addee316054be4.tar.gz
Fix dq.UseWideChannles optimizer and enable wide channels in tests
-rw-r--r--ydb/library/yql/dq/opt/dq_opt_build.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/ydb/library/yql/dq/opt/dq_opt_build.cpp b/ydb/library/yql/dq/opt/dq_opt_build.cpp
index 9caff49017c..5d49d3c67d0 100644
--- a/ydb/library/yql/dq/opt/dq_opt_build.cpp
+++ b/ydb/library/yql/dq/opt/dq_opt_build.cpp
@@ -524,12 +524,14 @@ TDqPhyStage RebuildStageInputsAsWide(const TDqPhyStage& stage, bool useChannelBl
TDqPhyStage RebuildStageOutputAsWide(const TDqPhyStage& stage, const TStructExprType& outputItemType, bool useChannelBlocks,
TExprContext& ctx, TTypeAnnotationContext& typesCtx)
{
+ TCoLambda program(ctx.DeepCopyLambda(stage.Program().Ref()));
+
// convert stream to wide stream
- auto resultStream = ctx.Builder(stage.Program().Body().Pos())
+ auto resultStream = ctx.Builder(program.Body().Pos())
.Callable("FromFlow")
.Callable(0, "ExpandMap")
.Callable(0, "ToFlow")
- .Add(0, stage.Program().Body().Ptr())
+ .Add(0, program.Body().Ptr())
.Seal()
.Lambda(1)
.Param("item")
@@ -564,7 +566,7 @@ TDqPhyStage RebuildStageOutputAsWide(const TDqPhyStage& stage, const TStructExpr
return Build<TDqPhyStage>(ctx, stage.Pos())
.InitFrom(stage)
.Program()
- .Args(stage.Program().Args())
+ .Args(program.Args())
.Body(resultStream)
.Build()
.Settings(TDqStageSettings::New(stage).SetWideChannels(outputItemType).BuildNode(ctx, stage.Pos()))