diff options
author | Andrey Neporada <neporada@gmail.com> | 2022-05-12 19:19:29 +0300 |
---|---|---|
committer | Vitalii Gridnev <gvit@qavm-ff2ff183.qemu> | 2022-05-12 20:00:35 +0300 |
commit | bd7c734c0fd74d79bce6510d2c636af569e9dfe0 (patch) | |
tree | ce4cce3448d74b15e455d325f98c4081051b5a2b | |
parent | 826c7eacd043881b3e5e60fbbfe7ca861a6bcffd (diff) | |
download | ydb-bd7c734c0fd74d79bce6510d2c636af569e9dfe0.tar.gz |
[YQL-14807] Handle non-optional types with INGNORE NULLS
ref:eb5b7d2501319b8d2137ccd2c100a304a9e214ab
-rw-r--r-- | ydb/library/yql/mount/lib/yql/window.yql | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ydb/library/yql/mount/lib/yql/window.yql b/ydb/library/yql/mount/lib/yql/window.yql index 371f4c687c8..6a24834e641 100644 --- a/ydb/library/yql/mount/lib/yql/window.yql +++ b/ydb/library/yql/mount/lib/yql/window.yql @@ -79,8 +79,12 @@ (let bool_or_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type (lambda '(one two) (Or one two))))) (let first_value_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type (lambda '(one two) two)))) (let last_value_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type (lambda '(one two) one)))) -(let first_value_ignore_nulls_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type (lambda '(one two) (IfPresent two (lambda '(value) two) one))))) -(let last_value_ignore_nulls_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type (lambda '(one two) (IfPresent one (lambda '(value) one) two))))) +(let first_value_ignore_nulls_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type + (lambda '(one two) (MatchType (TypeOf two) 'Optional (lambda '() (IfPresent two (lambda '(value) two) one)) (lambda '() two))) +))) +(let last_value_ignore_nulls_traits_factory_opt (lambda '(list_type) (Apply simple_traits_factory list_type + (lambda '(one two) (MatchType (TypeOf one) 'Optional (lambda '() (IfPresent one (lambda '(value) one) two)) (lambda '() one))) +))) (let bool_xor_traits_factory_opt (lambda '(list_type) (Apply easy_traits_factory list_type (lambda '(one two) (Xor one two)) (lambda '(val state) (Xor state val))))) |