diff options
| author | a-romanov <[email protected]> | 2023-03-21 11:28:59 +0300 |
|---|---|---|
| committer | a-romanov <[email protected]> | 2023-03-21 11:28:59 +0300 |
| commit | 642e2d673dc992edb3662dbe0c30c79c8d9d5fcd (patch) | |
| tree | c0c36fe0e7768cedb75110411efd46d7e9c92bea | |
| parent | c5cff1c385e478e5f9285388b1b56b852fdbc0d5 (diff) | |
YQL-15756 Fix constrains for 'If'
| -rw-r--r-- | ydb/library/yql/core/yql_expr_constraint.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/ydb/library/yql/core/yql_expr_constraint.cpp b/ydb/library/yql/core/yql_expr_constraint.cpp index 11ab9de2d6f..e453826c598 100644 --- a/ydb/library/yql/core/yql_expr_constraint.cpp +++ b/ydb/library/yql/core/yql_expr_constraint.cpp @@ -1701,13 +1701,10 @@ private: TStatus IfWrap(const TExprNode::TPtr& input, TExprNode::TPtr&, TExprContext& ctx) const { std::vector<const TConstraintSet*> constraints; constraints.reserve((input->ChildrenSize() << 1U) + 1U); - if (1U != input->Tail().ChildrenSize() || !input->Tail().IsCallable({"List", "Nothing"})) - constraints.emplace_back(&input->Tail().GetConstraintSet()); + constraints.emplace_back(&input->Tail().GetConstraintSet()); for (auto i = 0U; i < input->ChildrenSize() - 1U; ++i) { - if (const auto child = input->Child(++i); 1U != child->ChildrenSize() || !child->IsCallable({"List", "Nothing"})) {// TODO: Use empty constraint. - constraints.emplace_back(&child->GetConstraintSet()); - } + constraints.emplace_back(&input->Child(++i)->GetConstraintSet()); } if (constraints.empty()) @@ -1716,7 +1713,6 @@ private: input->SetConstraints(**constraints.cbegin()); else TApplyCommonConstraint<TSortedConstraintNode - , TSortedConstraintNode , TPartOfSortedConstraintNode , TUniqueConstraintNode , TPartOfUniqueConstraintNode @@ -1751,7 +1747,6 @@ private: const std::vector<const TConstraintSet*> both = { &lambda->GetConstraintSet(), &input->Tail().GetConstraintSet() }; TApplyCommonConstraint<TSortedConstraintNode - , TSortedConstraintNode , TPartOfSortedConstraintNode , TUniqueConstraintNode , TPartOfUniqueConstraintNode |
