fn read_filter(
        &self,
        _predicate: &Predicate, // no needs because all data will be read for compaction
        _selection: Selection<'_>, // no needs because all columns will be read and compact
    ) -> Result<SendableRecordBatchStream, Self::Error> {
        let batches: Vec<_> = self.data.iter().map(|s| Arc::clone(&s.data)).collect();
        let stream = SizedRecordBatchStream::new(self.schema().as_arrow(), batches);
        Ok(Box::pin(stream))
    }
/// Provides access to raw `QueryChunk` data as an
/// asynchronous stream of `RecordBatch`es filtered by a *required*
/// predicate. Note that not all chunks can evaluate all types of
/// predicates and this function will return an error
/// if requested to evaluate with a predicate that is not supported
///
/// This is the analog of the `TableProvider` in DataFusion
///
/// The reason we can't simply use the `TableProvider` trait
/// directly is that the data for a particular Table lives in
/// several chunks within a partition, so there needs to be an
/// implementation of `TableProvider` that stitches together the
/// streams from several different `QueryChunk`s.
Provides access to raw `QueryChunk` data as an
asynchronous stream of `RecordBatch`es filtered by a *required
predicate. Note that not all chunks can evaluate all types of
predicates and this function will return an error
if requested to evaluate with a predicate that is not supported

This is the analog of the `TableProvider` in DataFusion


Provides access to raw ` QueryChunk ` data as an asynchronous stream of ` RecordBatch ` es filtered by a * required predicate . Note that not all chunks can evaluate all types of predicates and this function will return an error if requested to evaluate with a predicate that is not supported This is the analog of the ` TableProvider ` in DataFusion
fn read_filter(
        &self,
        _predicate: &Predicate, // no needs because all data will be read for compaction
        _selection: Selection<'_>, // no needs because all columns will be read and compact
    ) -> Result<SendableRecordBatchStream, Self::Error> {
        let batches: Vec<_> = self.data.iter().map(|s| Arc::clone(&s.data)).collect();
        let stream = SizedRecordBatchStream::new(self.schema().as_arrow(), batches);
        Ok(Box::pin(stream))
    }
fn read_filter ( & self , _predicate : & Predicate , // no needs because all data will be read for compaction _selection : Selection < ' _ > , // no needs because all columns will be read and compact ) -> Result < SendableRecordBatchStream , Self :: Error > { let batches : Vec < _ > = self . data . iter ( ) . map ( | s | Arc :: clone ( & s . data ) ) . collect ( ) ; let stream = SizedRecordBatchStream :: new ( self . schema ( ) . as_arrow ( ) , batches ) ; Ok ( Box :: pin ( stream ) ) }
Provides access to raw `QueryChunk` data as an
asynchronous stream of `RecordBatch`es filtered by a *required
predicate.
Provides access to raw ` QueryChunk ` data as an asynchronous stream of ` RecordBatch ` es filtered by a * required predicate .
&self
_predicate
&Predicate
_selection
Selection<'_>
&self
_predicate
&Predicate
_selection
Selection<'_>