@@ -20,8 +20,8 @@ use crate::arrays::Primitive;
2020use crate :: arrays:: PrimitiveArray ;
2121use crate :: arrays:: dict:: TakeExecute ;
2222use crate :: arrays:: list:: ListArrayExt ;
23- use crate :: arrays:: piecewise_sequence:: UnitMultiplierLengths ;
24- use crate :: arrays:: piecewise_sequence:: execute_unit_multiplier_index_arrays ;
23+ use crate :: arrays:: piecewise_sequence:: ConstantOrArray ;
24+ use crate :: arrays:: piecewise_sequence:: maybe_contiguous_slices ;
2525use crate :: arrays:: primitive:: PrimitiveArrayExt ;
2626use crate :: builders:: ArrayBuilder ;
2727use crate :: builders:: PrimitiveBuilder ;
@@ -157,23 +157,23 @@ fn take_piecewise_sequence(
157157 return Ok ( None ) ;
158158 }
159159
160- let Some ( ( starts, lengths) ) = execute_unit_multiplier_index_arrays ( indices, ctx) ? else {
160+ let Some ( ( starts, lengths) ) = maybe_contiguous_slices ( indices, ctx) ? else {
161161 return Ok ( None ) ;
162162 } ;
163163 let offsets = array. offsets ( ) . clone ( ) . execute :: < PrimitiveArray > ( ctx) ?;
164164 let offsets = offsets. reinterpret_cast ( offsets. ptype ( ) . to_unsigned ( ) ) ;
165165 let output_len = indices_ref. len ( ) ;
166166
167167 let taken = match & lengths {
168- UnitMultiplierLengths :: Constant ( length) => take_piecewise_sequence_constant_dispatch (
168+ ConstantOrArray :: Constant ( length) => take_piecewise_sequence_constant_dispatch (
169169 array,
170170 & starts,
171171 * length,
172172 & offsets,
173173 indices_ref,
174174 output_len,
175175 ) ?,
176- UnitMultiplierLengths :: Array ( lengths) => take_piecewise_sequence_lengths_dispatch (
176+ ConstantOrArray :: Array ( lengths) => take_piecewise_sequence_lengths_dispatch (
177177 array,
178178 & starts,
179179 lengths,
0 commit comments