aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/Aggregation/Bug2.yql
blob: 1558d5a3a9e662985ef735faf7924cf9949ff5de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(
(let world (block '(
  (let x (Read! world (DataSource '"yt" '"plato") (Key '('table (String '"Input"))) '('"key" '"value") '()))
  (let world (Left! x))
  (let table2 (Right! x))
  (let output (block '(
    (let select (block '(
      (let core table2)
      (let core (block '(
        (let Max0_create (lambda '(row) (Member row '"value")))
        (let Max0_update (lambda '(row state) (OptionalReduce state (Member row '"value") (lambda '(a b) (Max a b)))))
        (let Max0_save (lambda '(state) state))
        (let Max0_load (lambda '(item) item))
        (let Max0_merge (lambda '(a b) (OptionalReduce a b (lambda '(a b) (Max a b)))))
        (let Max0_finish (lambda '(state) state))
        (let Count1_create (lambda '(row) (Convert (Exists row) 'Uint64)))
        (let Count1_update (lambda '(row state) (OptionalReduce state (Convert (Exists row) 'Uint64) (lambda '(a b) (+ a b)))))
        (let Count1_save (lambda '(state) state))
        (let Count1_load (lambda '(item) item))
        (let Count1_merge (lambda '(a b) (OptionalReduce a b (lambda '(a b) (+ a b)))))
        (let Count1_finish (lambda '(state) state))
        (return (Aggregate core '('"key") '('('Max0 (AggregationTraits (ListItemType (TypeOf core)) Max0_create Max0_update Max0_save Max0_load Max0_merge Max0_finish (Null))) '('Count1 (AggregationTraits (StructMemberType (ListItemType (TypeOf core)) '"value") Count1_create Count1_update Count1_save Count1_load Count1_merge Count1_finish (Uint64 '0)) '"value"))))
)
))
      (let core (FlatMap core (lambda '(row) (block '(
        (let res (Struct))
        (let res (AddMember res '"column0" (Member row 'Max0)))
        (let res (AddMember res '"key" (Member row '"key")))
        (let res (AddMember res '"column2" (Member row 'Count1)))
        (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)
)