diff options
| author | vvvv <[email protected]> | 2022-07-27 19:29:57 +0300 |
|---|---|---|
| committer | vvvv <[email protected]> | 2022-07-27 19:29:57 +0300 |
| commit | b06c90c50f46fa60dab756015ca2d3443184393f (patch) | |
| tree | 7527869c2cecea02d506fe97c058e4ce6890a7d9 | |
| parent | dba73ef8c21ba1445215d446093a29104125c945 (diff) | |
support of null as merge function
| -rw-r--r-- | ydb/library/yql/sql/v1/aggregation.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ydb/library/yql/sql/v1/aggregation.cpp b/ydb/library/yql/sql/v1/aggregation.cpp index c59f39d3dfd..64a9c657db9 100644 --- a/ydb/library/yql/sql/v1/aggregation.cpp +++ b/ydb/library/yql/sql/v1/aggregation.cpp @@ -1155,7 +1155,9 @@ private: Lambdas[0] = BuildLambda(Pos, Y("value", "parent"), Y("NamedApply", exprs[adjustArgsCount], Q(Y("value")), Y("AsStruct"), Y("DependsOn", "parent"))); Lambdas[1] = BuildLambda(Pos, Y("value", "state", "parent"), Y("NamedApply", exprs[adjustArgsCount + 1], Q(Y("state", "value")), Y("AsStruct"), Y("DependsOn", "parent"))); - Lambdas[2] = BuildLambda(Pos, Y("one", "two"), Y("Apply", exprs[adjustArgsCount + 2], "one", "two")); + Lambdas[2] = BuildLambda(Pos, Y("one", "two"), Y("IfType", exprs[adjustArgsCount + 2], Y("NullType"), + BuildLambda(Pos, Y(), Y("Void")), + BuildLambda(Pos, Y(), Y("Apply", exprs[adjustArgsCount + 2], "one", "two")))); for (size_t i = 3U; i < Lambdas.size(); ++i) { const auto j = adjustArgsCount + i; |
