summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <[email protected]>2023-03-21 11:28:59 +0300
committera-romanov <[email protected]>2023-03-21 11:28:59 +0300
commit642e2d673dc992edb3662dbe0c30c79c8d9d5fcd (patch)
treec0c36fe0e7768cedb75110411efd46d7e9c92bea
parentc5cff1c385e478e5f9285388b1b56b852fdbc0d5 (diff)
YQL-15756 Fix constrains for 'If'
-rw-r--r--ydb/library/yql/core/yql_expr_constraint.cpp9
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