aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-04-27 15:06:53 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-04-27 15:06:53 +0300
commit97af411cb998faab7ec06b0c3bf177ecb8f701f5 (patch)
tree42bcf3d3961ca48f61a3b3aef997aebe16a69e61
parent47e15289b11e175db0b60f6347302750a6f0c2c3 (diff)
downloadydb-97af411cb998faab7ec06b0c3bf177ecb8f701f5.tar.gz
YQL-15555 YQL-15435 Fix for Unique & Distinct.
-rw-r--r--ydb/library/yql/core/yql_expr_constraint.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/ydb/library/yql/core/yql_expr_constraint.cpp b/ydb/library/yql/core/yql_expr_constraint.cpp
index 5302afd9b20..a014c404ad5 100644
--- a/ydb/library/yql/core/yql_expr_constraint.cpp
+++ b/ydb/library/yql/core/yql_expr_constraint.cpp
@@ -2616,8 +2616,8 @@ private:
if (auto path = GetPathToKey(body.Head(), args)) {
path->first.emplace_back(body.Tail().Content());
return path;
- } else if (body.IsCallable("Member") && body.Head().IsCallable("AsStruct")) {
- return GetPathToKey(GetLiteralStructMember(body.Head(), body.Tail()), args);
+ } else if (const auto& head = SkipCallables(body.Head(), {"CastStruct","FilterMembers"}); head.IsCallable("AsStruct") && body.IsCallable("Member")) {
+ return GetPathToKey(GetLiteralStructMember(head, body.Tail()), args);
} else if (body.IsCallable("Nth") && body.Head().IsList()) {
return GetPathToKey(*body.Head().Child(FromString<ui32>(body.Tail().Content())), args);
} else if (body.IsCallable({"CastStruct","FilterMembers"})) {