Skip to content

Commit 9f3d8e1

Browse files
Remove null array usage from list view (#1728)
1 parent 1777c2f commit 9f3d8e1

File tree

2 files changed

+3
-13
lines changed

2 files changed

+3
-13
lines changed

vortex-array/src/array/list/mod.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,14 @@ use serde::{Deserialize, Serialize};
88
use vortex_dtype::{match_each_native_ptype, DType, PType};
99
use vortex_error::{vortex_bail, vortex_panic, VortexExpect, VortexResult};
1010

11-
use crate::array::{NullArray, PrimitiveArray};
11+
use crate::array::PrimitiveArray;
1212
use crate::compute::{scalar_at, slice};
1313
use crate::encoding::ids;
1414
use crate::stats::{Stat, StatisticsVTable, StatsSet};
1515
use crate::validity::{LogicalValidity, Validity, ValidityMetadata, ValidityVTable};
1616
use crate::variants::{ListArrayTrait, PrimitiveArrayTrait, VariantsVTable};
1717
use crate::visitor::{ArrayVisitor, VisitorVTable};
18-
use crate::{
19-
impl_encoding, ArrayDType, ArrayData, ArrayLen, ArrayTrait, Canonical, IntoArrayData,
20-
IntoCanonical,
21-
};
18+
use crate::{impl_encoding, ArrayDType, ArrayData, ArrayLen, ArrayTrait, Canonical, IntoCanonical};
2219

2320
impl_encoding!("vortex.list", ids::LIST, List);
2421

@@ -122,12 +119,6 @@ impl ListArray {
122119

123120
// TODO: fetches the elements at index
124121
pub fn elements_at(&self, index: usize) -> VortexResult<ArrayData> {
125-
if index >= self.len() {
126-
vortex_bail!("Index out of bounds: index={} len={}", index, self.len());
127-
}
128-
if !self.is_valid(index) {
129-
return Ok(NullArray::new(1).into_array());
130-
}
131122
let start = self.offset_at(index);
132123
let end = self.offset_at(index + 1);
133124
slice(self.elements(), start, end)

vortex-array/src/builders/list.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,7 @@ mod tests {
233233
let list_array = list.into_list().unwrap();
234234

235235
assert_eq!(list_array.elements_at(0).unwrap().len(), 3);
236-
assert!(list_array.elements_at(1).unwrap().as_null_array().is_some());
237-
assert_eq!(list_array.elements_at(1).unwrap().len(), 1);
236+
assert_eq!(list_array.elements_at(1).unwrap().len(), 0);
238237
assert_eq!(list_array.elements_at(2).unwrap().len(), 3);
239238
}
240239
}

0 commit comments

Comments
 (0)