vortex_dict/compute/
optimize.rs

1use vortex_array::compute::OptimizeFn;
2use vortex_array::{Array, ArrayRef};
3use vortex_error::VortexResult;
4
5use crate::builders::dict_encode;
6use crate::{DictArray, DictEncoding};
7
8impl OptimizeFn<&DictArray> for DictEncoding {
9    fn optimize(&self, array: &DictArray) -> VortexResult<ArrayRef> {
10        Ok(dict_encode(array.to_canonical()?.as_ref())?.into_array())
11    }
12}