aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-04-27 13:17:33 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-04-27 13:17:33 +0300
commit1b3f4cc97b6774c43015a249569df23fbe1424ab (patch)
tree0f9e89ba447471981801c1ca73390ab778b0f2fe
parent6a5d9984d973925b6781d84444f23b86ba829591 (diff)
downloadydb-1b3f4cc97b6774c43015a249569df23fbe1424ab.tar.gz
YQL-15555 YQL-15435 Fix constraints for DictItems.
-rw-r--r--ydb/library/yql/core/yql_expr_constraint.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/ydb/library/yql/core/yql_expr_constraint.cpp b/ydb/library/yql/core/yql_expr_constraint.cpp
index 2bbb590404c..5302afd9b20 100644
--- a/ydb/library/yql/core/yql_expr_constraint.cpp
+++ b/ydb/library/yql/core/yql_expr_constraint.cpp
@@ -174,9 +174,6 @@ public:
Functions["Dict"] = &TCallableConstraintTransformer::DictWrap;
Functions["EmptyList"] = &TCallableConstraintTransformer::FromEmpty;
Functions["EmptyDict"] = &TCallableConstraintTransformer::FromEmpty;
- Functions["DictItems"] = &TCallableConstraintTransformer::FromFirst<TEmptyConstraintNode>;
- Functions["DictKeys"] = &TCallableConstraintTransformer::FromFirst<TEmptyConstraintNode>;
- Functions["DictPayloads"] = &TCallableConstraintTransformer::FromFirst<TEmptyConstraintNode>;
Functions["DictFromKeys"] = &TCallableConstraintTransformer::DictFromKeysWrap;
Functions["If"] = &TCallableConstraintTransformer::IfWrap;
Functions["Nothing"] = &TCallableConstraintTransformer::FromEmpty;
@@ -200,7 +197,7 @@ public:
Functions["GraceJoinCore"] = &TCallableConstraintTransformer::GraceJoinCoreWrap;
Functions["CommonJoinCore"] = &TCallableConstraintTransformer::FromFirst<TEmptyConstraintNode>;
Functions["ToDict"] = &TCallableConstraintTransformer::ToDictWrap;
- Functions["DictItems"] = &TCallableConstraintTransformer::FromFirst<TPassthroughConstraintNode, TUniqueConstraintNode, TDistinctConstraintNode, TEmptyConstraintNode>;
+ Functions["DictItems"] = &TCallableConstraintTransformer::FromFirst<TPassthroughConstraintNode, TUniqueConstraintNode, TPartOfUniqueConstraintNode, TDistinctConstraintNode, TPartOfDistinctConstraintNode, TEmptyConstraintNode>;
Functions["DictKeys"] = &TCallableConstraintTransformer::DictHalfWrap<true>;
Functions["DictPayloads"] = &TCallableConstraintTransformer::DictHalfWrap<false>;
Functions["Chain1Map"] = &TCallableConstraintTransformer::Chain1MapWrap<false>;
@@ -2913,6 +2910,8 @@ private:
input->AddConstraint(extracted);
ReduceFromHead<TUniqueConstraintNode>(input, reduce, ctx);
ReduceFromHead<TDistinctConstraintNode>(input, reduce, ctx);
+ ReduceFromHead<TPartOfUniqueConstraintNode>(input, reduce, ctx);
+ ReduceFromHead<TPartOfDistinctConstraintNode>(input, reduce, ctx);
return FromFirst<TEmptyConstraintNode>(input, output, ctx);
}