@@ -42,7 +42,7 @@ impl<O: OffsetSizeTrait> ArrowStringSet<O> {
4242 }
4343
4444 /// Inserts each string from `values` into the set
45- pub fn insert ( & mut self , values : ArrayRef ) {
45+ pub fn insert ( & mut self , values : & ArrayRef ) {
4646 fn make_payload_fn ( _value : Option < & [ u8 ] > ) { }
4747 fn observe_payload_fn ( _payload : ( ) ) { }
4848 self . 0
@@ -173,7 +173,7 @@ where
173173 /// Safety: F is only ever invoked with valid values from `values`
174174 pub fn insert_if_new < MP , OP > (
175175 & mut self ,
176- values : ArrayRef ,
176+ values : & ArrayRef ,
177177 mut make_payload_fn : MP ,
178178 mut observe_payload_fn : OP ,
179179 ) where
@@ -440,7 +440,8 @@ mod tests {
440440 #[ test]
441441 fn string_set_empty ( ) {
442442 let mut set = ArrowStringSet :: < i32 > :: new ( ) ;
443- set. insert ( Arc :: new ( StringArray :: new_null ( 0 ) ) ) ;
443+ let array: ArrayRef = Arc :: new ( StringArray :: new_null ( 0 ) ) ;
444+ set. insert ( & array) ;
444445 assert_eq ! ( set. len( ) , 0 ) ;
445446 assert_eq ! ( set. non_null_len( ) , 0 ) ;
446447 assert_set ( set, & [ ] ) ;
@@ -449,7 +450,8 @@ mod tests {
449450 #[ test]
450451 fn string_set_one_null ( ) {
451452 let mut set = ArrowStringSet :: < i32 > :: new ( ) ;
452- set. insert ( Arc :: new ( StringArray :: new_null ( 1 ) ) ) ;
453+ let array: ArrayRef = Arc :: new ( StringArray :: new_null ( 1 ) ) ;
454+ set. insert ( & array) ;
453455 assert_eq ! ( set. len( ) , 1 ) ;
454456 assert_eq ! ( set. non_null_len( ) , 0 ) ;
455457 assert_set ( set, & [ None ] ) ;
@@ -458,7 +460,8 @@ mod tests {
458460 #[ test]
459461 fn string_set_many_null ( ) {
460462 let mut set = ArrowStringSet :: < i32 > :: new ( ) ;
461- set. insert ( Arc :: new ( StringArray :: new_null ( 11 ) ) ) ;
463+ let array: ArrayRef = Arc :: new ( StringArray :: new_null ( 11 ) ) ;
464+ set. insert ( & array) ;
462465 assert_eq ! ( set. len( ) , 1 ) ;
463466 assert_eq ! ( set. non_null_len( ) , 0 ) ;
464467 assert_set ( set, & [ None ] ) ;
@@ -496,7 +499,8 @@ mod tests {
496499 ] ) ;
497500
498501 let mut set = ArrowStringSet :: < O > :: new ( ) ;
499- set. insert ( Arc :: new ( values) ) ;
502+ let array: ArrayRef = Arc :: new ( values) ;
503+ set. insert ( & array) ;
500504 // values mut appear be in the order they were inserted
501505 assert_set (
502506 set,
@@ -534,7 +538,8 @@ mod tests {
534538 ] ) ;
535539
536540 let mut set = ArrowStringSet :: < O > :: new ( ) ;
537- set. insert ( Arc :: new ( values) ) ;
541+ let array: ArrayRef = Arc :: new ( values) ;
542+ set. insert ( & array) ;
538543 // strings mut appear be in the order they were inserted
539544 assert_set (
540545 set,
@@ -587,7 +592,7 @@ mod tests {
587592 let mut set = ArrowStringSet :: < i32 > :: new ( ) ;
588593 let size_empty = set. size ( ) ;
589594
590- set. insert ( values1. clone ( ) ) ;
595+ set. insert ( & values1) ;
591596 let size_after_values1 = set. size ( ) ;
592597 assert ! ( size_empty < size_after_values1) ;
593598 assert ! (
@@ -597,11 +602,11 @@ mod tests {
597602 assert ! ( size_after_values1 < total_strings1_len + total_strings2_len) ;
598603
599604 // inserting the same strings should not affect the size
600- set. insert ( values1. clone ( ) ) ;
605+ set. insert ( & values1) ;
601606 assert_eq ! ( set. size( ) , size_after_values1) ;
602607
603608 // inserting the large strings should increase the reported size
604- set. insert ( values2) ;
609+ set. insert ( & values2) ;
605610 let size_after_values2 = set. size ( ) ;
606611 assert ! ( size_after_values2 > size_after_values1) ;
607612 assert ! ( size_after_values2 > total_strings1_len + total_strings2_len) ;
0 commit comments