blob: 0063b7b7ef8f663f734efeb2e0614c5ee9f9dafa (
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
60
61
62
63
64
65
66
67
68
69
70
71
|
(
(let config (DataSource 'config))
(let world (Configure! world config 'PureDataSource 'yt))
(let list1 (AsList
(AsStruct '('a.key1 (Int32 '1)) '('k.value1 (String 'A)))
(AsStruct '('a.key1 (Int32 '7)) '('k.value1 (String 'B)))
(AsStruct '('a.key1 (Int32 '4)) '('k.value1 (String 'C)))
(AsStruct '('a.key1 (Int32 '4)) '('k.value1 (String 'D)))
))
(let list2 (AsList
(AsStruct '('b.key2 (Int32 '9)) '('l.value2 (String 'Z)))
(AsStruct '('b.key2 (Int32 '4)) '('l.value2 (String 'Y)))
(AsStruct '('b.key2 (Int32 '3)) '('l.value2 (String 'X)))
(AsStruct '('b.key2 (Int32 '4)) '('l.value2 (String 'W)))
(AsStruct '('b.key2 (Int32 '8)) '('l.value2 (String 'V)))
))
(let list3 (AsList
(AsStruct '('c.key3 (Int32 '1)) '('m.value3 (String 'G)))
(AsStruct '('c.key3 (Int32 '4)) '('m.value3 (String 'H)))
(AsStruct '('c.key3 (Int32 '2)) '('m.value3 (String 'I)))
(AsStruct '('c.key3 (Int32 '3)) '('m.value3 (String 'J)))
(AsStruct '('c.key3 (Int32 '3)) '('m.value3 (String 'K)))
))
(let joinInnerInner (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('Inner 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerLeft (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('Left 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerRight (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('Right 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerFull (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('Full 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerLeftOnly (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('LeftOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
(let joinInnerRightOnly (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('RightOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerExclusion (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('Exclusion 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinInnerLeftSemi (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('LeftSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
(let joinInnerRightSemi (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Inner '('RightSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullInner (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('Inner 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullLeft (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('Left 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullRight (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('Right 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullFull (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('Full 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullLeftOnly (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('LeftOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
(let joinFullRightOnly (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('RightOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullExclusion (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('Exclusion 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let joinFullLeftSemi (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('LeftSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
(let joinFullRightSemi (EquiJoin '(list1 '('a 'k)) '(list2 '('b 'l)) '(list3 '('c 'm)) '('Full '('RightSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
(let res_sink (DataSink 'result))
(let world (Write! world res_sink (Key) joinInnerInner '('('type))))
(let world (Write! world res_sink (Key) joinInnerLeft '('('type))))
(let world (Write! world res_sink (Key) joinInnerRight '('('type))))
(let world (Write! world res_sink (Key) joinInnerFull '('('type))))
(let world (Write! world res_sink (Key) joinInnerLeftOnly '('('type))))
(let world (Write! world res_sink (Key) joinInnerRightOnly '('('type))))
(let world (Write! world res_sink (Key) joinInnerExclusion '('('type))))
(let world (Write! world res_sink (Key) joinInnerLeftSemi '('('type))))
(let world (Write! world res_sink (Key) joinInnerRightSemi '('('type))))
(let world (Write! world res_sink (Key) joinFullInner '('('type))))
(let world (Write! world res_sink (Key) joinFullLeft '('('type))))
(let world (Write! world res_sink (Key) joinFullRight '('('type))))
(let world (Write! world res_sink (Key) joinFullFull '('('type))))
(let world (Write! world res_sink (Key) joinFullLeftOnly '('('type))))
(let world (Write! world res_sink (Key) joinFullRightOnly '('('type))))
(let world (Write! world res_sink (Key) joinFullExclusion '('('type))))
(let world (Write! world res_sink (Key) joinFullLeftSemi '('('type))))
(let world (Write! world res_sink (Key) joinFullRightSemi '('('type))))
(let world (Commit! world res_sink))
(return world)
)
|