@@ -856,8 +856,7 @@ fn get_corrected_filter_mask(
856
856
}
857
857
858
858
// Generate null joined rows for records which have no matching join key
859
- let null_matched = expected_size - corrected_mask. len ( ) ;
860
- corrected_mask. extend ( vec ! [ Some ( false ) ; null_matched] ) ;
859
+ corrected_mask. append_n ( expected_size - corrected_mask. len ( ) , false ) ;
861
860
Some ( corrected_mask. finish ( ) )
862
861
}
863
862
JoinType :: LeftMark => {
@@ -879,8 +878,7 @@ fn get_corrected_filter_mask(
879
878
}
880
879
881
880
// Generate null joined rows for records which have no matching join key
882
- let null_matched = expected_size - corrected_mask. len ( ) ;
883
- corrected_mask. extend ( vec ! [ Some ( false ) ; null_matched] ) ;
881
+ corrected_mask. append_n ( expected_size - corrected_mask. len ( ) , false ) ;
884
882
Some ( corrected_mask. finish ( ) )
885
883
}
886
884
JoinType :: LeftSemi => {
@@ -922,9 +920,9 @@ fn get_corrected_filter_mask(
922
920
corrected_mask. append_null ( ) ;
923
921
}
924
922
}
925
-
926
- let null_matched = expected_size - corrected_mask . len ( ) ;
927
- corrected_mask. extend ( vec ! [ Some ( true ) ; null_matched ] ) ;
923
+ // Generate null joined rows for records which have no matching join key,
924
+ // for LeftAnti non-matched considered as true
925
+ corrected_mask. append_n ( expected_size - corrected_mask . len ( ) , true ) ;
928
926
Some ( corrected_mask. finish ( ) )
929
927
}
930
928
JoinType :: Full => {
@@ -1569,10 +1567,10 @@ impl SortMergeJoinStream {
1569
1567
let num_rows = record_batch. num_rows ( ) ;
1570
1568
self . output_record_batches
1571
1569
. filter_mask
1572
- . extend ( & BooleanArray :: from ( vec ! [ None ; num_rows] ) ) ;
1570
+ . append_nulls ( num_rows) ;
1573
1571
self . output_record_batches
1574
1572
. row_indices
1575
- . extend ( & UInt64Array :: from ( vec ! [ None ; num_rows] ) ) ;
1573
+ . append_nulls ( num_rows) ;
1576
1574
self . output_record_batches
1577
1575
. batch_ids
1578
1576
. extend ( vec ! [ 0 ; num_rows] ) ;
@@ -1613,10 +1611,10 @@ impl SortMergeJoinStream {
1613
1611
1614
1612
self . output_record_batches
1615
1613
. filter_mask
1616
- . extend ( & BooleanArray :: from ( vec ! [ None ; num_rows] ) ) ;
1614
+ . append_nulls ( num_rows) ;
1617
1615
self . output_record_batches
1618
1616
. row_indices
1619
- . extend ( & UInt64Array :: from ( vec ! [ None ; num_rows] ) ) ;
1617
+ . append_nulls ( num_rows) ;
1620
1618
self . output_record_batches
1621
1619
. batch_ids
1622
1620
. extend ( vec ! [ 0 ; num_rows] ) ;
0 commit comments