diff --git a/c/mapping/mapper_join.c b/c/mapping/mapper_join.c index 924fa356e..2e76aac19 100644 --- a/c/mapping/mapper_join.c +++ b/c/mapping/mapper_join.c @@ -91,6 +91,7 @@ static sllv_t* mapper_join_process_sorted(lrec_t* pright_rec, context_t* pctx, v } sllv_free(pbucket_left_unpaired); sllv_add(pout_recs, NULL); + return pout_recs; } slls_t* pright_field_values = mlr_selected_values_from_record(pright_rec, pstate->popts->pright_field_names); diff --git a/c/test/expected/out b/c/test/expected/out index 6b2559a34..45fa7b779 100644 --- a/c/test/expected/out +++ b/c/test/expected/out @@ -390,52 +390,265 @@ a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697 ================================================================ JOIN -./test/../mlr join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y +./test/../mlr --opprint join -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y -./test/../mlr join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y -l=4,x=g +./test/../mlr --opprint join --ul -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y -./test/../mlr join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y -r=5,y=z +l x +4 g + +./test/../mlr --opprint join --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join --ul --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +r y +5 z + +./test/../mlr --opprint join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join --ul --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +l x +4 g ================================================================ diff --git a/c/test/output/out b/c/test/output/out index 6b2559a34..45fa7b779 100644 --- a/c/test/output/out +++ b/c/test/output/out @@ -390,52 +390,265 @@ a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697 ================================================================ JOIN -./test/../mlr join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y +./test/../mlr --opprint join -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y -./test/../mlr join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y -l=4,x=g +./test/../mlr --opprint join --ul -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y -./test/../mlr join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp -o=1,x=a,y=s -o=2,x=b,y=t -o=2,x=c,y=t -o=2,x=d,y=t -o=2,x=b,y=v -o=2,x=c,y=v -o=2,x=d,y=v -o=3,x=e,y=w -o=3,x=f,y=w -o=3,x=e,y=x -o=3,x=f,y=x -o=3,x=e,y=y -o=3,x=f,y=y -r=5,y=z +l x +4 g + +./test/../mlr --opprint join --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join --ul --ur -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +r y +5 z + +./test/../mlr --opprint join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +./test/../mlr --opprint join --ul -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +l x +4 g + +./test/../mlr --opprint join --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +./test/../mlr --opprint join --ul --ur -u -f ./test/input/joina.dkvp -l l -r r -j o ./test/input/joinb.dkvp +o x y +1 a s +2 b t +2 c t +2 d t +2 b v +2 c v +2 d v +3 e w +3 f w +3 e x +3 f x +3 e y +3 f y + +r y +5 z + +l x +4 g ================================================================ diff --git a/c/test/run b/c/test/run index 880b6e401..510ed8092 100755 --- a/c/test/run +++ b/c/test/run @@ -101,9 +101,21 @@ run_command $mlr sort -f a -r b -nf x -nr y $indir/abixy # ---------------------------------------------------------------- announce JOIN -run_command $mlr join -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp -run_command $mlr join --ul -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp -run_command $mlr join --ur -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ur -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ur -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul --ur -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp + +run_command $mlr --opprint join -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ur -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ur -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp +run_command $mlr --opprint join --ul --ur -u -f $indir/joina.dkvp -l l -r r -j o $indir/joinb.dkvp # ---------------------------------------------------------------- announce STATS