diff options
author | vvvv <vvvv@ydb.tech> | 2023-07-20 08:50:24 +0300 |
---|---|---|
committer | vvvv <vvvv@ydb.tech> | 2023-07-20 08:50:24 +0300 |
commit | fc557f9c9db028084b8640ad201740c07a8902e5 (patch) | |
tree | e7e5bfc398fa25ab49d1bff4adba751e8b17567c | |
parent | b47b1c2cd78c8c201a3c4c0abda5534a93308722 (diff) | |
download | ydb-fc557f9c9db028084b8640ad201740c07a8902e5.tar.gz |
Track struct layout over Member inside window functions
-rw-r--r-- | ydb/library/yql/core/services/yql_lineage.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ydb/library/yql/core/services/yql_lineage.cpp b/ydb/library/yql/core/services/yql_lineage.cpp index d5e5f4e79ba..c84271ed69a 100644 --- a/ydb/library/yql/core/services/yql_lineage.cpp +++ b/ydb/library/yql/core/services/yql_lineage.cpp @@ -294,6 +294,10 @@ private: auto& s = (*dst.StructItems)[fieldName]; MergeLineageFromUsedFields(x->Tail(), arg, src, s, newTransforms); } + } else if (root->IsCallable("Member") && &root->Head() == &arg) { + auto fieldName = root->Tail().Content(); + const auto& in = *(*src.Fields).FindPtr(fieldName); + dst.StructItems = in.StructItems; } } |