aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/Builtins/DicItems.yql
blob: 95277fbb51080a931973a2d8e95d1c49adc63f3f (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
(
#comment
(let mr_source (DataSource 'yt 'plato))
(let x (Read! world mr_source (Key '('table (String 'Input))) '('key 'subkey 'value) '()))
(let world (Left! x))
(let table1 (Right! x))
(let table1map (Map table1 (lambda '(item) (block '(
   (let value (Member item 'value))
   (let t1 (DataType 'Uint32))
   (let t2 (DataType 'String))
   (let d1 (DictType t1 t2))
   (let d2 (Dict d1 '((Uint32 '4) (String 'aaa)) '((Uint32 '4) (String 'zzz)) '((Uint32 '5) (String 'bbb))) )
   (let list1 (Sort (DictItems d2) (Bool 'true) (lambda '(x) (Nth x '0))))
   (let list2 (Sort (DictKeys d2) (Bool 'true) (lambda '(x) x)))
   (let list3 (Sort (DictPayloads d2) (Bool 'true) (lambda '(x) x)))
   (let value1 (Fold list1 (String '"") (lambda '(item state) (block '(
      (let newValue state)
      (let newValue (Concat newValue (String '" Items => ")))
      (let newValue (Concat newValue (Concat (String '" ") (ToString (Nth item '0)))))
      (let newValue (Concat newValue (Concat (String '" ") (ToString (Nth item '1)))))
      (return newValue)
   )))))
   
   (let value2 (Fold list2 (String '"") (lambda '(item state) (block '(
      (let newValue state)
      (let newValue (Concat newValue (String '" Keys => ")))
      (let newValue (Concat newValue (Concat (String '" ") (ToString item))))
      (return newValue)
   )))))
   
   (let value3 (Fold list3 (String '"") (lambda '(item state) (block '(
      (let newValue state)
      (let newValue (Concat newValue (String '" Payloads => ")))
      (let newValue (Concat newValue (Concat (String '" ") (ToString item))))
      (return newValue)
   )))))
   
   (let s (Struct))
   (let s (AddMember s 'key (Member item 'key)))
   (let s (AddMember s 'subkey (Member item 'subkey)))
   (let s (AddMember s 'value (Concat (Concat (Concat value value1) value2) value3)))
   (return s)
)))))
(let mr_sink (DataSink 'yt (quote plato)))
(let world (Write! world mr_sink (Key '('table (String 'Output))) table1map '('('mode 'append))))
(let world (Commit! world mr_sink))
(return world)
)