diff options
| author | robot-piglet <[email protected]> | 2025-02-03 19:15:43 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-02-03 19:29:25 +0300 |
| commit | 77ee0394b2632327b0789f4adc0434ee90856ef2 (patch) | |
| tree | 66ec010a4bc6dcba79e12d1766d19c3bb97282c2 /yql/essentials/tests | |
| parent | ca1b99bb0935aa604330db8d93bb366bc4bb10c9 (diff) | |
Intermediate changes
commit_hash:1cef0cf05075cdc1ff60c3675d89b7135b260071
Diffstat (limited to 'yql/essentials/tests')
| -rw-r--r-- | yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json | 14 | ||||
| -rw-r--r-- | yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls | 28 |
2 files changed, 42 insertions, 0 deletions
diff --git a/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json b/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json index db2afce4747..90ba14b9ea9 100644 --- a/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json +++ b/yql/essentials/tests/s-expressions/minirun/part7/canondata/result.json @@ -1,4 +1,18 @@ { + "test.test[Blocks-BlockMapJoinCore-default.txt-Debug]": [ + { + "checksum": "71db64c54c014278aadebde24e80edca", + "size": 1864, + "uri": "https://{canondata_backend}/1936997/67628cc299565ace722746c32bfd5aa5ec155b43/resource.tar.gz#test.test_Blocks-BlockMapJoinCore-default.txt-Debug_/opt.yql" + } + ], + "test.test[Blocks-BlockMapJoinCore-default.txt-Results]": [ + { + "checksum": "0b92c1a4b6b8f47e4a62aa420c36ee97", + "size": 9574, + "uri": "https://{canondata_backend}/1936997/67628cc299565ace722746c32bfd5aa5ec155b43/resource.tar.gz#test.test_Blocks-BlockMapJoinCore-default.txt-Results_/results.txt" + } + ], "test.test[Builtins-ConstraintsOf-default.txt-Debug]": [ { "checksum": "b4766463022fb5885bc259408b01b951", diff --git a/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls b/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls new file mode 100644 index 00000000000..e47ea29f6a1 --- /dev/null +++ b/yql/essentials/tests/s-expressions/suites/Blocks/BlockMapJoinCore.yqls @@ -0,0 +1,28 @@ +( +(let config (DataSource 'config)) +(let res_sink (DataSink 'result)) + +(let row1 (AsStruct '('"key" (Int32 '1)) '('"subkey" (Int32 '"1001")) '('"value" (String '"AAA")))) +(let row2 (AsStruct '('"key" (Int32 '2)) '('"subkey" (Int32 '"1002")) '('"value" (String '"AAB")))) +(let row3 (AsStruct '('"key" (Int32 '3)) '('"subkey" (Int32 '"1003")) '('"value" (String '"AAC")))) +(let row4 (AsStruct '('"key" (Int32 '4)) '('"subkey" (Int32 '"1004")) '('"value" (String '"AAD")))) +(let row5 (AsStruct '('"key" (Int32 '5)) '('"subkey" (Int32 '"1005")) '('"value" (String '"AAE")))) +(let table (AsList row1 row2 row3 row4 row5)) + +(let expandLambda (lambda '(item) (Member item '"key") (Member item '"subkey") (Member item '"value"))) +(let narrowLambdaInner (lambda '(item1 item2 item3 item4 item5 item6) (AsStruct '('"akey" item1) '('"asubkey" item2) '('"avalue" item3) '('"bkey" item4) '('"bsubkey" item5) '('"bvalue" item6)))) +(let narrowLambdaLeft (lambda '(item1 item2 item3 item4) (AsStruct '('"asubkey" item1) '('"avalue" item2) '('"bsubkey" item3) '('"bvalue" item4)))) +(let narrowLambdaLeftSemi (lambda '(item1 item2) (AsStruct '('"asubkey" item1) '('"avalue" item2)))) + +(let doJoin (lambda '(left right narrowMapLambda joinKind leftKeyColumns leftKeyDrops rightKeyColumns rightKeyDrops) (block '( + (return (Collect (NarrowMap (ToFlow (WideFromBlocks (BlockMapJoinCore (FromFlow (WideToBlocks (ExpandMap left expandLambda))) (FromFlow (WideToBlocks (ExpandMap right expandLambda))) joinKind leftKeyColumns leftKeyDrops rightKeyColumns rightKeyDrops '()))) narrowMapLambda))) +)))) + +(let innerJoin (Apply doJoin (ToFlow table (DependsOn (String '0))) (ToFlow table (DependsOn (String '1))) narrowLambdaInner 'Inner '('0) '() '('0) '())) +(let leftJoin (Apply doJoin (ToFlow table (DependsOn (String '2))) (ToFlow table (DependsOn (String '3))) narrowLambdaLeft 'Left '('0) '('0) '('0) '('0))) +(let leftSemiJoin (Apply doJoin (ToFlow table (DependsOn (String '4))) (ToFlow table (DependsOn (String '5))) narrowLambdaLeftSemi 'LeftSemi '('0) '('0) '('0) '())) + +(let world (Write! world res_sink (Key) (AsStruct '('"inner" innerJoin) '('"left" leftJoin) '('"leftSemi" leftSemiJoin)) '('('type)))) +(let world (Commit! world res_sink)) +(return world) +) |
