aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvvvv <vvvv@ydb.tech>2023-07-20 08:50:24 +0300
committervvvv <vvvv@ydb.tech>2023-07-20 08:50:24 +0300
commitfc557f9c9db028084b8640ad201740c07a8902e5 (patch)
treee7e5bfc398fa25ab49d1bff4adba751e8b17567c
parentb47b1c2cd78c8c201a3c4c0abda5534a93308722 (diff)
downloadydb-fc557f9c9db028084b8640ad201740c07a8902e5.tar.gz
Track struct layout over Member inside window functions
-rw-r--r--ydb/library/yql/core/services/yql_lineage.cpp4
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;
}
}