Skip to main content

ArrayParentReduceRule

Trait ArrayParentReduceRule 

Source
pub trait ArrayParentReduceRule<V: VTable>:
    Debug
    + Send
    + Sync
    + 'static {
    type Parent: Matcher;

    // Required method
    fn reduce_parent(
        &self,
        array: &V::Array,
        parent: <Self::Parent as Matcher>::Match<'_>,
        child_idx: usize,
    ) -> VortexResult<Option<ArrayRef>>;
}
Expand description

A rewrite rule that transforms arrays based on parent context

Required Associated Types§

Required Methods§

Source

fn reduce_parent( &self, array: &V::Array, parent: <Self::Parent as Matcher>::Match<'_>, child_idx: usize, ) -> VortexResult<Option<ArrayRef>>

Attempt to rewrite this child array given information about its parent.

Returns:

  • Ok(Some(new_array)) if the rule applied successfully
  • Ok(None) if the rule doesn’t apply
  • Err(e) if an error occurred

Implementors§

Source§

impl ArrayParentReduceRule<BoolVTable> for BoolMaskedValidityRule

Source§

impl ArrayParentReduceRule<DecimalVTable> for DecimalMaskedValidityRule

Source§

impl ArrayParentReduceRule<PrimitiveVTable> for PrimitiveMaskedValidityRule

Source§

impl<V> ArrayParentReduceRule<V> for FilterReduceAdaptor<V>
where V: FilterReduce,

Source§

impl<V> ArrayParentReduceRule<V> for SliceReduceAdaptor<V>
where V: SliceReduce,

Source§

impl<V> ArrayParentReduceRule<V> for TakeReduceAdaptor<V>
where V: TakeReduce,

Source§

impl<V> ArrayParentReduceRule<V> for BetweenReduceAdaptor<V>
where V: BetweenReduce,

Source§

impl<V> ArrayParentReduceRule<V> for CastReduceAdaptor<V>
where V: CastReduce,

Source§

impl<V> ArrayParentReduceRule<V> for FillNullReduceAdaptor<V>
where V: FillNullReduce,

Source§

impl<V> ArrayParentReduceRule<V> for LikeReduceAdaptor<V>
where V: LikeReduce,

Source§

impl<V> ArrayParentReduceRule<V> for MaskReduceAdaptor<V>
where V: MaskReduce,

Source§

impl<V> ArrayParentReduceRule<V> for NotReduceAdaptor<V>
where V: NotReduce,

Source§

impl<V> ArrayParentReduceRule<V> for ZipReduceAdaptor<V>
where V: ZipReduce,