pub trait SimpleColumnarData {
type ArrowBuilder: ArrayBuilder + Default;
type ArrowColumn: Array + Clone + 'static;
// Required methods
fn goodbytes(builder: &Self::ArrowBuilder) -> usize;
fn push(&self, builder: &mut Self::ArrowBuilder);
fn push_null(builder: &mut Self::ArrowBuilder);
fn read(&mut self, idx: usize, column: &Self::ArrowColumn);
}
Expand description
Simple type of data that can be columnar encoded.
Required Associated Types§
Sourcetype ArrowBuilder: ArrayBuilder + Default
type ArrowBuilder: ArrayBuilder + Default
Type of arrow
builder that we encode data into.
Sourcetype ArrowColumn: Array + Clone + 'static
type ArrowColumn: Array + Clone + 'static
Type of arrow
array the we decode data from.
Required Methods§
Sourcefn goodbytes(builder: &Self::ArrowBuilder) -> usize
fn goodbytes(builder: &Self::ArrowBuilder) -> usize
The number of actual data bytes this item represents.
Sourcefn push(&self, builder: &mut Self::ArrowBuilder)
fn push(&self, builder: &mut Self::ArrowBuilder)
Encode self
into builder
.
Sourcefn push_null(builder: &mut Self::ArrowBuilder)
fn push_null(builder: &mut Self::ArrowBuilder)
Encode a null value into builder
.
Sourcefn read(&mut self, idx: usize, column: &Self::ArrowColumn)
fn read(&mut self, idx: usize, column: &Self::ArrowColumn)
Decode an instance of self
from column
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.