Skip to content

Commit 08b0c52

Browse files
committed
fix[dict]: not (filter/take) set_all_values_referenced
Signed-off-by: Joe Isaacs <[email protected]>
1 parent 3572526 commit 08b0c52

File tree

3 files changed

+2
-13
lines changed

3 files changed

+2
-13
lines changed

vortex-array/src/arrays/dict/compute/cast.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ impl CastKernel for DictVTable {
2424
};
2525

2626
// SAFETY: casting does not alter invariants of the codes
27-
// Preserve all_values_referenced since casting only changes values, not which are referenced
2827
Ok(Some(
2928
unsafe {
3029
DictArray::new_unchecked(casted_codes, casted_values)

vortex-array/src/arrays/dict/compute/fill_null.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@ impl FillNullKernel for DictVTable {
4444
// SAFETY: invariants are still satisfied after patching nulls
4545
unsafe {
4646
Ok(DictArray::new_unchecked(codes, values)
47-
// Preserve all_values_referenced since filling nulls cannot make values
48-
// unreferenced.
4947
.set_all_values_referenced(array.has_all_values_referenced())
5048
.into_array())
5149
}

vortex-array/src/arrays/dict/compute/mod.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ impl TakeKernel for DictVTable {
2424
let codes = take(array.codes(), indices)?;
2525
// SAFETY: selecting codes doesn't change the invariants of DictArray
2626
// Preserve all_values_referenced since taking codes doesn't affect which values are referenced
27-
Ok(unsafe {
28-
DictArray::new_unchecked(codes, array.values().clone())
29-
.set_all_values_referenced(array.has_all_values_referenced())
30-
.into_array()
31-
})
27+
Ok(unsafe { DictArray::new_unchecked(codes, array.values().clone()).into_array() })
3228
}
3329
}
3430

@@ -40,11 +36,7 @@ impl FilterKernel for DictVTable {
4036

4137
// SAFETY: filtering codes doesn't change invariants
4238
// Preserve all_values_referenced since filtering codes doesn't affect which values are referenced
43-
unsafe {
44-
Ok(DictArray::new_unchecked(codes, array.values().clone())
45-
.set_all_values_referenced(array.has_all_values_referenced())
46-
.into_array())
47-
}
39+
unsafe { Ok(DictArray::new_unchecked(codes, array.values().clone()).into_array()) }
4840
}
4941
}
5042

0 commit comments

Comments
 (0)