pub struct ByteArrayEncoder {
fallback: FallbackEncoder,
dict_encoder: Option<DictEncoder>,
statistics_enabled: EnabledStatistics,
min_value: Option<ByteArray>,
max_value: Option<ByteArray>,
bloom_filter: Option<Sbbf>,
geo_stats_accumulator: Option<Box<dyn GeoStatsAccumulator>>,
}Fields§
§fallback: FallbackEncoder§dict_encoder: Option<DictEncoder>§statistics_enabled: EnabledStatistics§min_value: Option<ByteArray>§max_value: Option<ByteArray>§bloom_filter: Option<Sbbf>§geo_stats_accumulator: Option<Box<dyn GeoStatsAccumulator>>Trait Implementations§
Source§impl ColumnValueEncoder for ByteArrayEncoder
impl ColumnValueEncoder for ByteArrayEncoder
Source§fn estimated_data_page_size(&self) -> usize
fn estimated_data_page_size(&self) -> usize
Returns an estimate of the data page size in bytes
This includes: <already_written_encoded_byte_size> + <estimated_encoded_size_of_unflushed_bytes>
Source§fn flush_bloom_filter(&mut self) -> Option<Sbbf>
fn flush_bloom_filter(&mut self) -> Option<Sbbf>
Flushes bloom filter if enabled and returns it, otherwise returns
None. Subsequent writes
will not be tracked by the bloom filter as it is empty since. This should be called once
near the end of encoding.Source§fn try_new(descr: &ColumnDescPtr, props: &WriterProperties) -> Result<Self>where
Self: Sized,
fn try_new(descr: &ColumnDescPtr, props: &WriterProperties) -> Result<Self>where
Self: Sized,
Create a new
ColumnValueEncoderSource§fn write(
&mut self,
_values: &Self::Values,
_offset: usize,
_len: usize,
) -> Result<()>
fn write( &mut self, _values: &Self::Values, _offset: usize, _len: usize, ) -> Result<()>
Write the corresponding values to this
ColumnValueEncoderSource§fn write_gather(
&mut self,
values: &Self::Values,
indices: &[usize],
) -> Result<()>
fn write_gather( &mut self, values: &Self::Values, indices: &[usize], ) -> Result<()>
Write the values at the indexes in
indices to this ColumnValueEncoderSource§fn num_values(&self) -> usize
fn num_values(&self) -> usize
Returns the number of buffered values
Source§fn has_dictionary(&self) -> bool
fn has_dictionary(&self) -> bool
Returns true if this encoder has a dictionary page
Source§fn estimated_memory_size(&self) -> usize
fn estimated_memory_size(&self) -> usize
Returns the estimated total memory usage of the encoder
Source§fn estimated_dict_page_size(&self) -> Option<usize>
fn estimated_dict_page_size(&self) -> Option<usize>
Returns an estimate of the encoded size of dictionary page size in bytes, or
None if no dictionarySource§fn flush_dict_page(&mut self) -> Result<Option<DictionaryPage>>
fn flush_dict_page(&mut self) -> Result<Option<DictionaryPage>>
Flush the dictionary page for this column chunk if any. Any subsequent calls to
Self::write will not be dictionary encoded Read moreSource§fn flush_data_page(&mut self) -> Result<DataPageValues<ByteArray>>
fn flush_data_page(&mut self) -> Result<DataPageValues<ByteArray>>
Flush the next data page for this column chunk
Source§fn flush_geospatial_statistics(&mut self) -> Option<Box<GeospatialStatistics>>
fn flush_geospatial_statistics(&mut self) -> Option<Box<GeospatialStatistics>>
Computes [
GeospatialStatistics], if any, and resets internal state such that any internal
accumulator is prepared to accumulate statistics for the next column chunk.Auto Trait Implementations§
impl !Freeze for ByteArrayEncoder
impl !RefUnwindSafe for ByteArrayEncoder
impl Send for ByteArrayEncoder
impl !Sync for ByteArrayEncoder
impl Unpin for ByteArrayEncoder
impl !UnwindSafe for ByteArrayEncoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more