Skip to content

Commit a95022a

Browse files
committed
Use generic TakeSlices path for ListView rebuild
Signed-off-by: Daniel King <dan@spiraldb.com>
1 parent 04b10bd commit a95022a

1 file changed

Lines changed: 2 additions & 14 deletions

File tree

vortex-array/src/arrays/listview/rebuild.rs

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ use crate::arrays::ConstantArray;
1515
use crate::arrays::ListViewArray;
1616
use crate::arrays::PrimitiveArray;
1717
use crate::arrays::TakeSlicesArray;
18-
use crate::arrays::VarBinView;
1918
use crate::arrays::listview::ListViewArrayExt;
2019
use crate::arrays::primitive::PrimitiveArrayExt;
21-
use crate::arrays::take_slices::TakeSlicesKernel;
2220
use crate::builtins::ArrayBuiltins;
2321
use crate::dtype::IntegerPType;
2422
use crate::dtype::Nullability;
@@ -297,22 +295,12 @@ impl ListViewArray {
297295
let starts = PrimitiveArray::new(starts.freeze(), Validity::NonNullable).into_array();
298296
let lengths = PrimitiveArray::new(lengths.freeze(), Validity::NonNullable).into_array();
299297
let new_sizes = new_sizes.freeze();
300-
let elements = if let Some(elements) = self.elements().as_opt::<VarBinView>() {
301-
<VarBinView as TakeSlicesKernel>::take_slices(
302-
elements,
303-
&starts,
304-
&lengths,
305-
elements_len,
306-
ctx,
307-
)?
308-
.vortex_expect("VarBinView TakeSlicesKernel should produce an array")
309-
} else {
298+
let elements =
310299
TakeSlicesArray::try_new(self.elements().clone(), starts, lengths, elements_len)?
311300
.into_array()
312301
.execute::<RecursiveCanonical>(ctx)?
313302
.0
314-
.into_array()
315-
};
303+
.into_array();
316304
// Built unsigned; reinterpret back to the signed-preserving result types.
317305
let offsets = PrimitiveArray::new(new_offsets.freeze(), Validity::NonNullable)
318306
.reinterpret_cast(new_offset_ptype)

0 commit comments

Comments
 (0)