vortex_datetime_parts/compute/
is_constant.rs

1use vortex_array::compute::{IsConstantKernel, IsConstantKernelAdapter, IsConstantOpts};
2use vortex_array::register_kernel;
3use vortex_error::VortexResult;
4
5use crate::{DateTimePartsArray, DateTimePartsVTable};
6
7impl IsConstantKernel for DateTimePartsVTable {
8    fn is_constant(
9        &self,
10        array: &DateTimePartsArray,
11        _opts: &IsConstantOpts,
12    ) -> VortexResult<Option<bool>> {
13        Ok(Some(
14            array.days().is_constant()
15                && array.seconds().is_constant()
16                && array.subseconds().is_constant(),
17        ))
18    }
19}
20
21register_kernel!(IsConstantKernelAdapter(DateTimePartsVTable).lift());