aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/s-expressions/suites/InMem/Visit.yql
blob: 0616a5100cb1253f30f08a9b5b6a812bcb57e82e (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
56
57
58
59
(
(let config (DataSource 'config))
(let world (Configure! world config 'PureDataSource 'yt))

(import id_module '"/lib/yql/id.yql")
(let id (bind id_module 'id))

#comment
(let res_sink (DataSink 'result))
(let vt (VariantType (TupleType (DataType 'Int32) (DataType 'String))))
(let v1 (Variant (Int32 '34) '0 vt))
(let v2 (Variant (String 'qwe) '1 vt))

(let handler1 (lambda '(x) (Concat (String '"handler1:") (ToString (+ (Uint32 '100) x)))))
(let handler2 (lambda '(x) (Concat (String '"handler2:") x)))

(let world (Write! world res_sink (Key) (Visit v1 '0 handler1 '1 handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 '0 handler1 '1 handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 '0 handler1 (String 'q1)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 '1 handler2 (String 'q2)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 '0 handler1 (String 'q3)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 '1 handler2 (String 'q4)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 (String 'q5)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 (String 'q6)) '('('type))))

(let world (Write! world res_sink (Key) (Visit (Apply id v1) '0 handler1 '1 handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) '1 handler2 '0 handler1) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) '0 handler1 (String 'q1)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) '1 handler2 (String 'q2)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) '0 handler1 (String 'q3)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) '1 handler2 (String 'q4)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) (String 'q5)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) (String 'q6)) '('('type))))

(let vt (VariantType (StructType '('a (DataType 'Int32)) '('b (DataType 'String)))))
(let v1 (Variant (Int32 '34) 'a vt))
(let v2 (Variant (String 'qwe) 'b vt))

(let world (Write! world res_sink (Key) (Visit v1 'a handler1 'b handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 'b handler2 'a handler1) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 'a handler1 (String 'r1)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 'b handler2 (String 'r2)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 'a handler1 (String 'r3)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 'b handler2 (String 'r4)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v1 (String 'r5)) '('('type))))
(let world (Write! world res_sink (Key) (Visit v2 (String 'r6)) '('('type))))

(let world (Write! world res_sink (Key) (Visit (Apply id v1) 'a handler1 'b handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) 'a handler1 'b handler2) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) 'a handler1 (String 'r1)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) 'b handler2 (String 'r2)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) 'a handler1 (String 'r3)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) 'b handler2 (String 'r4)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v1) (String 'r5)) '('('type))))
(let world (Write! world res_sink (Key) (Visit (Apply id v2) (String 'r6)) '('('type))))

(let world (Commit! world res_sink))
(return world)
)