Skip to main content

vortex_array/arrays/constant/vtable/
validity.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use vortex_error::VortexResult;
5
6use crate::arrays::ConstantArray;
7use crate::arrays::ConstantVTable;
8use crate::validity::Validity;
9use crate::vtable::ValidityVTable;
10
11impl ValidityVTable<ConstantVTable> for ConstantVTable {
12    fn validity(array: &ConstantArray) -> VortexResult<Validity> {
13        debug_assert!(array.dtype().is_nullable());
14        Ok(if array.scalar().is_null() {
15            Validity::AllInvalid
16        } else {
17            Validity::AllValid
18        })
19    }
20}