33
44use std:: fmt:: Debug ;
55
6- use arrow_buffer:: BooleanBuffer ;
76use vortex_array:: stats:: { ArrayStats , StatsSetRef } ;
87use vortex_array:: vtable:: { ArrayVTable , NotSupported , VTable , ValidityVTable } ;
98use vortex_array:: { Array , ArrayRef , EncodingId , EncodingRef , ToCanonical , vtable} ;
9+ use vortex_buffer:: BitBuffer ;
1010use vortex_dtype:: { DType , match_each_integer_ptype} ;
1111use vortex_error:: { VortexExpect as _, VortexResult , vortex_bail} ;
1212use vortex_mask:: { AllOr , Mask } ;
@@ -142,13 +142,13 @@ impl ValidityVTable<DictVTable> for DictVTable {
142142
143143 fn validity_mask ( array : & DictArray ) -> Mask {
144144 let codes_validity = array. codes ( ) . validity_mask ( ) ;
145- match codes_validity. boolean_buffer ( ) {
145+ match codes_validity. bit_buffer ( ) {
146146 AllOr :: All => {
147147 let primitive_codes = array. codes ( ) . to_primitive ( ) ;
148148 let values_mask = array. values ( ) . validity_mask ( ) ;
149149 let is_valid_buffer = match_each_integer_ptype ! ( primitive_codes. ptype( ) , |P | {
150150 let codes_slice = primitive_codes. as_slice:: <P >( ) ;
151- BooleanBuffer :: collect_bool( array. len( ) , |idx| {
151+ BitBuffer :: collect_bool( array. len( ) , |idx| {
152152 #[ allow( clippy:: cast_possible_truncation) ]
153153 values_mask. value( codes_slice[ idx] as usize )
154154 } )
@@ -162,7 +162,7 @@ impl ValidityVTable<DictVTable> for DictVTable {
162162 let is_valid_buffer = match_each_integer_ptype ! ( primitive_codes. ptype( ) , |P | {
163163 let codes_slice = primitive_codes. as_slice:: <P >( ) ;
164164 #[ allow( clippy:: cast_possible_truncation) ]
165- BooleanBuffer :: collect_bool( array. len( ) , |idx| {
165+ BitBuffer :: collect_bool( array. len( ) , |idx| {
166166 validity_buff. value( idx) && values_mask. value( codes_slice[ idx] as usize )
167167 } )
168168 } ) ;
@@ -174,15 +174,14 @@ impl ValidityVTable<DictVTable> for DictVTable {
174174
175175#[ cfg( test) ]
176176mod test {
177- use arrow_buffer:: BooleanBuffer ;
178177 use rand:: distr:: { Distribution , StandardUniform } ;
179178 use rand:: prelude:: StdRng ;
180179 use rand:: { Rng , SeedableRng } ;
181180 use vortex_array:: arrays:: { ChunkedArray , PrimitiveArray } ;
182181 use vortex_array:: builders:: builder_with_capacity;
183182 use vortex_array:: validity:: Validity ;
184183 use vortex_array:: { Array , ArrayRef , IntoArray , ToCanonical } ;
185- use vortex_buffer:: buffer;
184+ use vortex_buffer:: { BitBuffer , buffer} ;
186185 use vortex_dtype:: Nullability :: NonNullable ;
187186 use vortex_dtype:: { DType , NativePType , PType , UnsignedPType } ;
188187 use vortex_error:: { VortexExpect , VortexUnwrap , vortex_panic} ;
@@ -195,7 +194,7 @@ mod test {
195194 let dict = DictArray :: try_new (
196195 PrimitiveArray :: new (
197196 buffer ! [ 0u32 , 1 , 2 , 2 , 1 ] ,
198- Validity :: from ( BooleanBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
197+ Validity :: from ( BitBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
199198 )
200199 . into_array ( ) ,
201200 PrimitiveArray :: new ( buffer ! [ 3 , 6 , 9 ] , Validity :: AllValid ) . into_array ( ) ,
@@ -214,7 +213,7 @@ mod test {
214213 buffer ! [ 0u32 , 1 , 2 , 2 , 1 ] . into_array ( ) ,
215214 PrimitiveArray :: new (
216215 buffer ! [ 3 , 6 , 9 ] ,
217- Validity :: from ( BooleanBuffer :: from ( vec ! [ true , false , false ] ) ) ,
216+ Validity :: from ( BitBuffer :: from ( vec ! [ true , false , false ] ) ) ,
218217 )
219218 . into_array ( ) ,
220219 )
@@ -231,12 +230,12 @@ mod test {
231230 let dict = DictArray :: try_new (
232231 PrimitiveArray :: new (
233232 buffer ! [ 0u32 , 1 , 2 , 2 , 1 ] ,
234- Validity :: from ( BooleanBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
233+ Validity :: from ( BitBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
235234 )
236235 . into_array ( ) ,
237236 PrimitiveArray :: new (
238237 buffer ! [ 3 , 6 , 9 ] ,
239- Validity :: from ( BooleanBuffer :: from ( vec ! [ false , true , true ] ) ) ,
238+ Validity :: from ( BitBuffer :: from ( vec ! [ false , true , true ] ) ) ,
240239 )
241240 . into_array ( ) ,
242241 )
@@ -253,7 +252,7 @@ mod test {
253252 let dict = DictArray :: try_new (
254253 PrimitiveArray :: new (
255254 buffer ! [ 0u32 , 1 , 2 , 2 , 1 ] ,
256- Validity :: from ( BooleanBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
255+ Validity :: from ( BitBuffer :: from ( vec ! [ true , false , true , false , true ] ) ) ,
257256 )
258257 . into_array ( ) ,
259258 PrimitiveArray :: new ( buffer ! [ 3 , 6 , 9 ] , Validity :: NonNullable ) . into_array ( ) ,
@@ -312,8 +311,8 @@ mod test {
312311
313312 assert_eq ! ( into_prim. as_slice:: <u64 >( ) , prim_into. as_slice:: <u64 >( ) ) ;
314313 assert_eq ! (
315- into_prim. validity_mask( ) . boolean_buffer ( ) ,
316- prim_into. validity_mask( ) . boolean_buffer ( )
314+ into_prim. validity_mask( ) . bit_buffer ( ) ,
315+ prim_into. validity_mask( ) . bit_buffer ( )
317316 )
318317 }
319318}
0 commit comments