Trait OutputBuilder

Source
pub(crate) trait OutputBuilder {
    // Required methods
    fn partially_shredded(
        &self,
        variant_array: &VariantArray,
        metadata: &BinaryViewArray,
        value_field: &BinaryViewArray,
        typed_value: &ArrayRef,
    ) -> Result<ArrayRef>;
    fn typed(
        &self,
        variant_array: &VariantArray,
        metadata: &BinaryViewArray,
        typed_value: &ArrayRef,
    ) -> Result<ArrayRef>;
    fn unshredded(
        &self,
        variant_array: &VariantArray,
        metadata: &BinaryViewArray,
        value_field: &BinaryViewArray,
    ) -> Result<ArrayRef>;
}
Expand description

This trait represents something that gets the output of the variant_get kernel.

For example, there are specializations for writing the output as a VariantArray, or as a specific type (e.g. Int32Array).

See instantiate_output_builder to create an instance of this trait.

Required Methods§

Source

fn partially_shredded( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, value_field: &BinaryViewArray, typed_value: &ArrayRef, ) -> Result<ArrayRef>

create output for a shredded variant array

Source

fn typed( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, typed_value: &ArrayRef, ) -> Result<ArrayRef>

output for a perfectly shredded variant array

Source

fn unshredded( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, value_field: &BinaryViewArray, ) -> Result<ArrayRef>

write out an unshredded variant array

Implementors§