diff options
author | aneporada <aneporada@ydb.tech> | 2023-09-21 18:07:42 +0300 |
---|---|---|
committer | aneporada <aneporada@ydb.tech> | 2023-09-21 19:08:13 +0300 |
commit | b0d4ff9bdc7a22fb6a1622dbf6d379c2aafbdaf0 (patch) | |
tree | 6455ff035533f4280f5c5098ff577c772632593b | |
parent | ce310ac578df8a66df11a31f4bcc3bfeb88cd203 (diff) | |
download | ydb-b0d4ff9bdc7a22fb6a1622dbf6d379c2aafbdaf0.tar.gz |
Fix wrong ensure in WideFilter rewrite to blocks
-rw-r--r-- | ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp | 5 |
1 files changed, 2 insertions, 3 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 4cffdf68f09..9b738123c65 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 @@ -5352,9 +5352,6 @@ TExprNode::TPtr OptimizeWideFilterBlocks(const TExprNode::TPtr& node, TExprConte .Seal() .Build(); - const size_t blockOutputs = blockLambda->ChildrenSize() - 2; // last column is a block count - YQL_ENSURE(blockOutputs > multiInputType->GetSize()); - if (auto it = rewritePositions.find(lambda->Child(1)); it != rewritePositions.end()) { // lambda is block-friendly YQL_ENSURE(it->second == multiInputType->GetSize(), "Block filter column must follow original input columns"); @@ -5405,6 +5402,8 @@ TExprNode::TPtr OptimizeWideFilterBlocks(const TExprNode::TPtr& node, TExprConte .Build(); } + YQL_ENSURE(blockLambda->ChildrenSize() > 1); + const size_t blockOutputs = blockLambda->ChildrenSize() - 2; // last column is a block count TExprNode::TListType allArgs; for (size_t i = 0; i < blockOutputs; ++i) { allArgs.push_back(ctx.NewArgument(node->Pos(), "arg" + ToString(i))); |