123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- (
- (let config (DataSource 'config))
- (let list1 (AsList
- (AsStruct '('key1 (Int32 '1)) '('value1 (String 'A)))
- (AsStruct '('key1 (Int32 '7)) '('value1 (String 'B)))
- (AsStruct '('key1 (Int32 '4)) '('value1 (String 'C)))
- (AsStruct '('key1 (Int32 '4)) '('value1 (String 'D)))
- ))
- (let list2 (AsList
- (AsStruct '('key2 (Int32 '9)) '('value2 (String 'Z)))
- (AsStruct '('key2 (Int32 '4)) '('value2 (String 'Y)))
- (AsStruct '('key2 (Int32 '3)) '('value2 (String 'X)))
- (AsStruct '('key2 (Int32 '4)) '('value2 (String 'W)))
- (AsStruct '('key2 (Int32 '8)) '('value2 (String 'V)))
- ))
- (let list3 (AsList
- (AsStruct '('key3 (Int32 '1)) '('value3 (String 'G)))
- (AsStruct '('key3 (Int32 '4)) '('value3 (String 'H)))
- (AsStruct '('key3 (Int32 '2)) '('value3 (String 'I)))
- (AsStruct '('key3 (Int32 '3)) '('value3 (String 'J)))
- (AsStruct '('key3 (Int32 '3)) '('value3 (String 'K)))
- ))
- (let joinInnerInner (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Inner 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerLeft (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Left 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerRight (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Right 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerFull (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Full 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerLeftOnly (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('LeftOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
- (let joinInnerRightOnly (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('RightOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerExclusion (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Exclusion 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerLeftSemi (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('LeftSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
- (let joinInnerRightSemi (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('RightSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinInnerCross (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Cross 'a 'b '() '() '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullInner (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Inner 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullLeft (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Left 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullRight (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Right 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullFull (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Full 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullLeftOnly (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('LeftOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
- (let joinFullRightOnly (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('RightOnly 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullExclusion (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Exclusion 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullLeftSemi (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('LeftSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('a 'key1) '('c 'key3) '()) '()))
- (let joinFullRightSemi (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('RightSemi 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinFullCross (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Full '('Cross 'a 'b '() '() '()) 'c '('b 'key2) '('c 'key3) '()) '()))
- (let joinCrossCross (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Cross '('Cross 'a 'b '() '() '()) 'c '() '() '()) '()))
- (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) joinInnerCross '('('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 (Write! world res_sink (Key) joinFullCross '('('type))))
- (let world (Write! world res_sink (Key) joinCrossCross '('('type))))
- (let world (Commit! world res_sink))
- (return world)
- )
|