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.