Struct datafusion_expr::window_state::PartitionBatchState
source · pub struct PartitionBatchState {
pub record_batch: RecordBatch,
pub most_recent_row: Option<RecordBatch>,
pub is_end: bool,
pub n_out_row: usize,
}
Expand description
State for each unique partition determined according to PARTITION BY column(s)
Fields§
§record_batch: RecordBatch
The record batch belonging to current partition
most_recent_row: Option<RecordBatch>
The record batch that contains the most recent row at the input.
Please note that this batch doesn’t necessarily have the same partitioning
with record_batch
. Keeping track of this batch enables us to prune
record_batch
when cardinality of the partition is sparse.
is_end: bool
Flag indicating whether we have received all data for this partition
n_out_row: usize
Number of rows emitted for each partition
Implementations§
source§impl PartitionBatchState
impl PartitionBatchState
pub fn new(schema: SchemaRef) -> Self
pub fn extend(&mut self, batch: &RecordBatch) -> Result<()>
pub fn set_most_recent_row(&mut self, batch: RecordBatch)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PartitionBatchState
impl !RefUnwindSafe for PartitionBatchState
impl Send for PartitionBatchState
impl Sync for PartitionBatchState
impl Unpin for PartitionBatchState
impl !UnwindSafe for PartitionBatchState
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