diff options
author | a-romanov <Anton.Romanov@ydb.tech> | 2023-04-27 15:06:53 +0300 |
---|---|---|
committer | a-romanov <Anton.Romanov@ydb.tech> | 2023-04-27 15:06:53 +0300 |
commit | 97af411cb998faab7ec06b0c3bf177ecb8f701f5 (patch) | |
tree | 42bcf3d3961ca48f61a3b3aef997aebe16a69e61 | |
parent | 47e15289b11e175db0b60f6347302750a6f0c2c3 (diff) | |
download | ydb-97af411cb998faab7ec06b0c3bf177ecb8f701f5.tar.gz |
YQL-15555 YQL-15435 Fix for Unique & Distinct.
-rw-r--r-- | ydb/library/yql/core/yql_expr_constraint.cpp | 4 |
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"})) { |