!RBIX 11817445442317083511 x M 1 n n x 10 __script__ i 37 5 7 0 64 47 49 1 1 15 99 7 2 65 49 3 2 13 99 12 7 4 12 7 5 12 65 12 49 6 4 15 49 4 0 15 2 11 I 6 I 0 I 0 I 0 n p 7 s 11 spec_helper x 7 require x 3 Alf x 11 open_module x 15 __module_init__ M 1 n n x 3 Alf i 30 5 66 99 7 0 45 1 2 49 3 2 13 99 12 7 4 12 7 5 12 65 12 49 6 4 15 49 4 0 11 I 6 I 0 I 0 I 0 n p 7 x 10 Relational x 8 Operator n x 17 open_module_under x 15 __module_init__ M 1 n n x 10 Relational i 15 5 66 5 45 0 1 43 2 56 3 47 50 4 1 11 I 3 I 0 I 0 I 0 n p 5 x 4 Join n x 9 HashBased M 1 p 2 x 9 for_block t n x 10 Relational i 81 5 7 0 56 1 47 50 2 1 15 5 7 3 56 4 47 50 2 1 15 5 7 5 56 6 47 50 2 1 15 5 7 7 56 8 47 50 2 1 15 5 56 9 47 50 10 0 15 5 7 11 64 56 12 47 50 13 1 15 5 7 14 64 56 15 47 50 13 1 15 5 7 16 64 56 17 47 50 13 1 11 I 4 I 0 I 0 I 0 I -2 p 18 x 9 suppliers M 1 p 2 x 9 for_block t n x 10 Relational i 84 44 43 0 80 49 1 1 13 7 2 7 3 64 49 4 2 15 13 7 5 7 6 64 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 7 64 49 4 2 15 13 7 5 7 8 64 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 9 64 49 4 2 15 13 7 5 7 8 64 49 4 2 15 35 3 11 I 7 I 0 I 0 I 0 I -2 p 10 x 4 Hash x 16 new_from_literal x 3 sid s 2 S1 x 3 []= x 4 city s 6 London s 2 S2 s 5 Paris s 2 S3 p 7 I 0 I 7 I 1b I 8 I 36 I 9 I 54 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 3 let x 8 statuses M 1 p 2 x 9 for_block t n x 10 Relational i 81 44 43 0 80 49 1 1 13 7 2 7 3 64 49 4 2 15 13 7 5 4 20 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 6 64 49 4 2 15 13 7 5 4 10 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 7 64 49 4 2 15 13 7 5 4 30 49 4 2 15 35 3 11 I 7 I 0 I 0 I 0 I -2 p 8 x 4 Hash x 16 new_from_literal x 3 sid s 2 S1 x 3 []= x 6 status s 2 S2 s 2 S3 p 7 I 0 I d I 1a I e I 34 I f I 51 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 9 countries M 1 p 2 x 9 for_block t n x 10 Relational i 84 44 43 0 80 49 1 1 13 7 2 7 3 64 49 4 2 15 13 7 5 7 6 64 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 7 64 49 4 2 15 13 7 5 7 8 64 49 4 2 15 44 43 0 80 49 1 1 13 7 2 7 9 64 49 4 2 15 13 7 5 7 10 64 49 4 2 15 35 3 11 I 7 I 0 I 0 I 0 I -2 p 11 x 4 Hash x 16 new_from_literal x 4 city s 6 London x 3 []= x 7 country s 7 England s 5 Paris s 6 France s 9 Bruxelles s 17 Belgium (until ?) p 7 I 0 I 13 I 1b I 14 I 36 I 15 I 54 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 8 operator M 1 p 2 x 9 for_block t n x 10 Relational i 27 45 0 1 43 2 13 71 3 47 9 23 47 49 4 0 13 47 49 5 0 15 8 26 49 3 0 11 I 3 I 0 I 0 I 0 I -2 p 6 x 4 Join n x 9 HashBased x 3 new x 8 allocate x 10 initialize p 3 I 0 I 18 I 1b x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 M 1 p 2 x 9 for_block t n x 10 Relational i 7 5 48 0 49 1 0 11 I 2 I 0 I 0 I 0 I -2 p 2 x 8 operator x 4 to_a p 3 I 0 I 19 I 7 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 7 subject s 35 when applied on both candidate keys M 1 p 2 x 9 for_block t n x 10 Relational i 26 5 56 0 47 50 1 0 15 5 7 2 56 3 47 50 4 1 15 5 56 5 47 50 6 0 11 I 4 I 0 I 0 I 0 I -2 p 7 M 1 p 2 x 9 for_block t n x 10 Relational i 15 5 48 0 5 48 1 5 48 2 35 2 49 3 1 11 I 4 I 0 I 0 I 0 I -2 p 4 x 8 operator x 9 suppliers x 8 statuses x 4 pipe p 3 I 0 I 1c I f x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 6 before x 8 expected M 1 p 2 x 9 for_block t n x 10 Relational i 114 44 43 0 4 3 49 1 1 13 7 2 7 3 64 49 4 2 15 13 7 5 7 6 64 49 4 2 15 13 7 7 4 20 49 4 2 15 44 43 0 4 3 49 1 1 13 7 2 7 8 64 49 4 2 15 13 7 5 7 9 64 49 4 2 15 13 7 7 4 10 49 4 2 15 44 43 0 4 3 49 1 1 13 7 2 7 10 64 49 4 2 15 13 7 5 7 9 64 49 4 2 15 13 7 7 4 30 49 4 2 15 35 3 11 I 7 I 0 I 0 I 0 I -2 p 11 x 4 Hash x 16 new_from_literal x 3 sid s 2 S1 x 3 []= x 4 city s 6 London x 6 status s 2 S2 s 5 Paris s 2 S3 p 7 I 0 I 1e I 25 I 1f I 4a I 20 I 72 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 3 let M 1 p 2 x 9 for_block t n x 10 Relational i 9 5 48 0 5 48 1 83 2 11 I 3 I 0 I 0 I 0 I -2 p 3 x 6 should x 8 expected x 2 == p 3 I 0 I 22 I 9 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 2 it p 7 I 0 I 1c I 8 I 1d I 12 I 22 I 1a x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 8 describe s 37 when applied on a typical foreign key M 1 p 2 x 9 for_block t n x 10 Relational i 32 5 7 0 56 1 47 50 2 1 15 5 7 3 64 56 4 47 50 5 1 15 5 7 6 64 56 7 47 50 5 1 11 I 4 I 0 I 0 I 0 I -2 p 8 x 8 expected M 1 p 2 x 9 for_block t n x 10 Relational i 117 44 43 0 4 3 49 1 1 13 7 2 7 3 64 49 4 2 15 13 7 5 7 6 64 49 4 2 15 13 7 7 7 8 64 49 4 2 15 44 43 0 4 3 49 1 1 13 7 2 7 9 64 49 4 2 15 13 7 5 7 10 64 49 4 2 15 13 7 7 7 11 64 49 4 2 15 44 43 0 4 3 49 1 1 13 7 2 7 12 64 49 4 2 15 13 7 5 7 10 64 49 4 2 15 13 7 7 7 11 64 49 4 2 15 35 3 11 I 7 I 0 I 0 I 0 I -2 p 13 x 4 Hash x 16 new_from_literal x 3 sid s 2 S1 x 3 []= x 4 city s 6 London x 7 country s 7 England s 2 S2 s 5 Paris s 6 France s 2 S3 p 7 I 0 I 27 I 26 I 28 I 4c I 29 I 75 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 3 let s 10 on one way M 1 p 2 x 9 for_block t n x 10 Relational i 16 5 56 0 47 50 1 0 15 5 56 2 47 50 3 0 11 I 3 I 0 I 0 I 0 I -2 p 4 M 1 p 2 x 9 for_block t n x 10 Relational i 15 5 48 0 5 48 1 5 48 2 35 2 49 3 1 11 I 4 I 0 I 0 I 0 I -2 p 4 x 8 operator x 9 suppliers x 9 countries x 4 pipe p 3 I 0 I 2c I f x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 6 before M 1 p 2 x 9 for_block t n x 10 Relational i 9 5 48 0 5 48 1 83 2 11 I 3 I 0 I 0 I 0 I -2 p 3 x 6 should x 8 expected x 2 == p 3 I 0 I 2d I 9 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 2 it p 5 I 0 I 2c I 8 I 2d I 10 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 8 describe s 23 on the other way around M 1 p 2 x 9 for_block t n x 10 Relational i 16 5 56 0 47 50 1 0 15 5 56 2 47 50 3 0 11 I 3 I 0 I 0 I 0 I -2 p 4 M 1 p 2 x 9 for_block t n x 10 Relational i 15 5 48 0 5 48 1 5 48 2 35 2 49 3 1 11 I 4 I 0 I 0 I 0 I -2 p 4 x 8 operator x 9 countries x 9 suppliers x 4 pipe p 3 I 0 I 30 I f x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 6 before M 1 p 2 x 9 for_block t n x 10 Relational i 9 5 48 0 5 48 1 83 2 11 I 3 I 0 I 0 I 0 I -2 p 3 x 6 should x 8 expected x 2 == p 3 I 0 I 31 I 9 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 2 it p 5 I 0 I 30 I 8 I 31 I 10 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 p 7 I 0 I 26 I a I 2b I 15 I 2f I 20 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 s 32 when no attributes are in common M 1 p 2 x 9 for_block t n x 10 Relational i 26 5 56 0 47 50 1 0 15 5 7 2 56 3 47 50 4 1 15 5 56 5 47 50 6 0 11 I 4 I 0 I 0 I 0 I -2 p 7 M 1 p 2 x 9 for_block t n x 10 Relational i 15 5 48 0 5 48 1 5 48 2 35 2 49 3 1 11 I 4 I 0 I 0 I 0 I -2 p 4 x 8 operator x 8 statuses x 9 countries x 4 pipe p 3 I 0 I 36 I f x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 6 before x 8 expected M 1 p 2 x 9 for_block t n x 10 Relational i 12 5 48 0 56 1 50 2 0 49 3 0 11 I 3 I 0 I 0 I 0 I -2 p 4 x 8 statuses M 1 p 2 x 9 for_block t n x 10 Relational i 13 57 19 0 15 5 48 0 56 1 50 2 0 11 I 4 I 1 I 1 I 1 n p 3 x 9 countries M 1 p 2 x 9 for_block t n x 10 Relational i 13 57 19 0 15 20 0 21 1 0 49 0 1 11 I 4 I 1 I 1 I 1 n p 1 x 5 merge p 3 I 0 I 38 I d x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 1 x 1 c x 7 collect p 3 I 0 I 38 I d x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 1 x 1 s x 7 collect x 7 flatten p 3 I 0 I 38 I c x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 3 let M 1 p 2 x 9 for_block t n x 10 Relational i 9 5 48 0 5 48 1 83 2 11 I 3 I 0 I 0 I 0 I -2 p 3 x 6 should x 8 expected x 2 == p 3 I 0 I 3a I 9 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 2 it p 7 I 0 I 36 I 8 I 37 I 12 I 3a I 1a x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 p 17 I 0 I 6 I a I c I 14 I 12 I 1e I 18 I 28 I 19 I 30 I 1b I 3b I 25 I 46 I 35 I 51 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 8 describe p 3 I 2 I 4 I f x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 13 attach_method p 3 I 2 I 3 I 1e x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0 x 13 attach_method p 5 I 0 I 1 I 9 I 2 I 25 x 83 /home/blambeau/work/devel/alf/spec/unit/operator/relational/join/test_hash_based.rb p 0