pub struct SuperTable {
pub batches: Vec<Arc<Table>>,
pub schema: Vec<Arc<Field>>,
pub n_rows: usize,
pub name: String,
}Expand description
§SuperTable
Higher-order container representing a sequence of Table batches with consistent schema.
§Overview
- Each batch is a
Table(record batch) with identical column metadata. - Stored as
Vec<Arc<Table>>, preserving order and schema consistency. - Row counts per batch may vary, but are consistent across all Table columns.
- When exported via Arrow FFI, the batches are viewed as a single logical table.
- Useful for open-ended streams, partitioned datasets, or other scenarios where batches are processed independently.
§Fields
batches: ordered collection ofTablebatches.schema: cached schema from the first batch for fast access.n_rows: total row count across all batches.name: super table name.
§Use cases
- Streaming and mini-batch processing.
- Reading multiple Arrow IPC/memory-mapped files as one dataset.
- Parallel or windowed in-memory analytics.
- Incremental table construction where batches arrive over time.
Fields§
§batches: Vec<Arc<Table>>§schema: Vec<Arc<Field>>§n_rows: usize§name: StringImplementations§
Source§impl SuperTable
impl SuperTable
Sourcepub fn from_batches(
batches: Vec<Arc<Table>>,
name_override: Option<String>,
) -> Self
pub fn from_batches( batches: Vec<Arc<Table>>, name_override: Option<String>, ) -> Self
Builds from a collection of Table batches.
Panics if column count or field metadata are inconsistent.
Sourcepub fn to_table(&self, name: Option<&str>) -> Table
pub fn to_table(&self, name: Option<&str>) -> Table
Materialise a single Table containing all rows (concatenated).
Uses arc data clones
pub fn n_cols(&self) -> usize
pub fn n_batches(&self) -> usize
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn schema(&self) -> &[Arc<Field>]
pub fn batches(&self) -> &[Arc<Table>]
pub fn batch(&self, idx: usize) -> Option<&Arc<Table>>
pub fn view(&self, offset: usize, len: usize) -> SuperTableV
pub fn from_views(slices: &[TableV], name: String) -> Self
Trait Implementations§
Source§impl Clone for SuperTable
impl Clone for SuperTable
Source§fn clone(&self) -> SuperTable
fn clone(&self) -> SuperTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SuperTable
impl Debug for SuperTable
Source§impl Default for SuperTable
impl Default for SuperTable
Source§impl Display for SuperTable
impl Display for SuperTable
Source§impl FromIterator<Table> for SuperTable
impl FromIterator<Table> for SuperTable
Source§impl PartialEq for SuperTable
impl PartialEq for SuperTable
impl StructuralPartialEq for SuperTable
Auto Trait Implementations§
impl Freeze for SuperTable
impl RefUnwindSafe for SuperTable
impl Send for SuperTable
impl Sync for SuperTable
impl Unpin for SuperTable
impl UnwindSafe for SuperTable
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CustomValue for T
impl<T> CustomValue for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> Key for Twhere
T: Clone,
impl<T> Key for Twhere
T: Clone,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.