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§
Sourcefn partially_shredded(
&self,
variant_array: &VariantArray,
metadata: &BinaryViewArray,
value_field: &BinaryViewArray,
typed_value: &ArrayRef,
) -> Result<ArrayRef>
fn partially_shredded( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, value_field: &BinaryViewArray, typed_value: &ArrayRef, ) -> Result<ArrayRef>
create output for a shredded variant array
Sourcefn typed(
&self,
variant_array: &VariantArray,
metadata: &BinaryViewArray,
typed_value: &ArrayRef,
) -> Result<ArrayRef>
fn typed( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, typed_value: &ArrayRef, ) -> Result<ArrayRef>
output for a perfectly shredded variant array
Sourcefn unshredded(
&self,
variant_array: &VariantArray,
metadata: &BinaryViewArray,
value_field: &BinaryViewArray,
) -> Result<ArrayRef>
fn unshredded( &self, variant_array: &VariantArray, metadata: &BinaryViewArray, value_field: &BinaryViewArray, ) -> Result<ArrayRef>
write out an unshredded variant array