vortex_array/arrays/constant/vtable/
validity.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use vortex_mask::Mask;
5
6use crate::arrays::{ConstantArray, ConstantVTable};
7use crate::vtable::ValidityVTable;
8
9impl ValidityVTable<ConstantVTable> for ConstantVTable {
10    fn is_valid(array: &ConstantArray, _index: usize) -> bool {
11        !array.scalar().is_null()
12    }
13
14    fn all_valid(array: &ConstantArray) -> bool {
15        !array.scalar().is_null()
16    }
17
18    fn all_invalid(array: &ConstantArray) -> bool {
19        array.scalar().is_null()
20    }
21
22    fn validity_mask(array: &ConstantArray) -> Mask {
23        match array.scalar().is_null() {
24            true => Mask::AllFalse(array.len),
25            false => Mask::AllTrue(array.len),
26        }
27    }
28}