aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/Aggregation/AggregateWithoutGroup.yql
blob: 472d0234d1cf170941072347e5be3ddf497f143f (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
54
55
(
(let world (block '(
  (let x (Read! world (DataSource '"yt" '"plato") (Key '('table (String '"Input"))) '('"key" '"subkey" '"value") '()))
  (let world (Left! x))
  (let table3 (Right! x))
  (let output (block '(
    (let select (block '(
      (let core table3)
      (let core (block '(
        (let Sum0_create (lambda '(row) ("Coalesce" (Cast (Member row '"key") 'Uint64) (Int64 '"0"))))
        (let Sum0_update (lambda '(row state) (OptionalReduce state ("Coalesce" (Cast (Member row '"key") 'Uint64) (Int64 '"0")) (lambda '(a b) (+ a b)))))
        (let Sum0_save (lambda '(state) state))
        (let Sum0_load (lambda '(item) item))
        (let Sum0_merge (lambda '(a b) (OptionalReduce a b (lambda '(a b) (+ a b)))))
        (let Sum0_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))
        (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 '() '('('Sum0 (AggregationTraits (ListItemType (TypeOf core)) Sum0_create Sum0_update Sum0_save Sum0_load Sum0_merge Sum0_finish (Null))) '('Count1 (AggregationTraits (StructMemberType (ListItemType (TypeOf core)) '"subkey") Count1_create Count1_update Count1_save Count1_load Count1_merge Count1_finish (Uint64 '0)) '"subkey") '('Count2 (AggregationTraits (StructMemberType (ListItemType (TypeOf core)) '"value") Count2_create Count2_update Count2_save Count2_load Count2_merge Count2_finish (Uint64 '0)) '"value"))))
      )))
      (let core (FlatMap core (lambda '(row) (block '(
        (let res (Struct))
        (let res (AddMember res '"column0" (Member row 'Sum0)))
        (let res (AddMember res '"column1" (Member row 'Count1)))
        (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 world (Write! world result_sink (Key) output '('('type) '('autoref) '('columns '('"column0" '"column1" '"column2")))))
    (return (Commit! world result_sink))
  )))
  (return world)
)))
(let world (block '(
  (let plato_sink (DataSink '"yt" '"plato"))
  (let world (Commit! world plato_sink))
  (return world)
)))
(return world)
)