aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/Builtins/CastStruct.yql
blob: ff4a01823d6625293ab7eca4e3d191d586f2bcec (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
(
#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 type (StructType '('key (DataType 'String))))
   (let list (List (ListType type)))
   (let castedValue (CastStruct item type))
   (let list (Append list castedValue))
   (let newValue (Member castedValue 'key))
   (let newValue (Concat newValue (ToString (Length list))))
   (let s (Struct))
   (let s (AddMember s 'key (String '.)))
   (let s (AddMember s 'subkey (String  '.)))
   (let s (AddMember s 'value newValue))
   (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)
)