aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql
diff options
context:
space:
mode:
authorudovichenko-r <udovichenko-r@yandex-team.com>2024-11-18 18:00:20 +0300
committerudovichenko-r <udovichenko-r@yandex-team.com>2024-11-18 18:32:34 +0300
commit227883e6978c3b90e91b931488e9dd4c56c350bf (patch)
tree925008663989d95a31a74a4f6e19886ecb47bd47 /yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql
parent0dc8d9e60034615bb2e67687bfd94a4ea3e7296f (diff)
downloadydb-227883e6978c3b90e91b931488e9dd4c56c350bf.tar.gz
YQL-19206 Move contrib/ydb/library/yql/tests/s-expressions/suites -> yql/essentials/tests/s-expressions/suites
commit_hash:02beb73b0c072658a9f2dc8bd9762791936b4e29
Diffstat (limited to 'yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql')
-rw-r--r--yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql69
1 files changed, 69 insertions, 0 deletions
diff --git a/yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql b/yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql
new file mode 100644
index 0000000000..0a2a83b345
--- /dev/null
+++ b/yql/essentials/tests/s-expressions/suites/Aggregation/Bug1.yql
@@ -0,0 +1,69 @@
+(
+(let world (block '(
+ (let x (Read! world (DataSource '"yt" '"plato") (Key '('table (String '"Input"))) '('"key" '"value") '()))
+ (let world (Left! x))
+ (let table0 (Right! x))
+ (let output (block '(
+ (let select (block '(
+ (let core (block '(
+ (let select (block '(
+ (let core table0)
+ (let core (FlatMap core (lambda '(row) (block '(
+ (let res (Struct))
+ (let res (AddMember res '"key" (Member row '"key")))
+ (let res (AddMember res '"value1" (MatchType (Member row '"value") 'Optional (lambda '(item) (Coalesce (Map item (lambda '(val) (IfType val (DataType 'String) (lambda '(item) (FromString item '"Int64")) (lambda '(item) (Just (Convert item '"Int64")))))) (Nothing (OptionalType (DataType '"Int64"))))) (lambda '(item) (IfType item (DataType 'String) (lambda '(item) (FromString item '"Int64")) (lambda '(item) (Convert item '"Int64")))))))
+ (let res (AsList res))
+ (return res)
+)
+))))
+ (return core)
+)
+))
+ (return select)
+)
+))
+ (let core (block '(
+ (let Max1_create (lambda '(row) (Member row '"value1")))
+ (let Max1_update (lambda '(row state) (OptionalReduce state (Member row '"value1") (lambda '(a b) (Max a b)))))
+ (let Max1_save (lambda '(state) state))
+ (let Max1_load (lambda '(item) item))
+ (let Max1_merge (lambda '(a b) (OptionalReduce a b (lambda '(a b) (Max a b)))))
+ (let Max1_finish (lambda '(state) state))
+ (let Count2_create (lambda '(row) (Convert (Exists row) 'Uint64)))
+ (let Count2_update (lambda '(row state) (OptionalReduce state (Convert (Exists row) 'Uint64) (lambda '(a b) (+ a b)))))
+ (let Count2_save (lambda '(state) state))
+ (let Count2_load (lambda '(item) item))
+ (let Count2_merge (lambda '(a b) (OptionalReduce a b (lambda '(a b) (+ a b)))))
+ (let Count2_finish (lambda '(state) state))
+ (return (Aggregate core '('"key") '('('Max1 (AggregationTraits (ListItemType (TypeOf core)) Max1_create Max1_update Max1_save Max1_load Max1_merge Max1_finish (Null))) '('Count2 (AggregationTraits (StructMemberType (ListItemType (TypeOf core)) '"value1") Count2_create Count2_update Count2_save Count2_load Count2_merge Count2_finish (Uint64 '0)) '"value1"))))
+)
+))
+ (let core (FlatMap core (lambda '(row) (block '(
+ (let res (Struct))
+ (let res (AddMember res '"column0" (Member row 'Max1)))
+ (let res (AddMember res '"key" (Member row '"key")))
+ (let res (AddMember res '"column2" (Member row 'Count2)))
+ (let res (AsList res))
+ (return res)
+)
+))))
+ (return core)
+)
+))
+ (return select)
+)
+))
+ (let world (block '(
+ (let result_sink (DataSink 'result))
+ (let sortedOutput (Sort output (Bool 'false) (lambda '(x) (Member x 'key) )))
+ (let world (Write! world result_sink (Key) sortedOutput '('('type) '('autoref) '('columns '('"column0" '"key" '"column2")))))
+ (let plato_sink (DataSink '"yt" '"plato"))
+ (let world (Commit! world plato_sink))
+ (return (Commit! world result_sink))
+)
+))
+ (return world)
+)
+))
+(return world)
+)