enum FilterMaskAccumulator {
Empty,
Single(BooleanBuffer),
Combined(BooleanBufferBuilder),
}Expand description
Accumulates filter masks for decoded chunks in one logical output batch.
The first chunk keeps its [BooleanBuffer] without copying. A second chunk
promotes the accumulator to a [BooleanBufferBuilder], and later chunks are
appended to it. For example, chunks 1000 and 1 become 10001:
append(1000) append(1)
Empty ───────────────▶ Single ───────────────▶ Combined
1000 10001
(zero copy) (promoted to builder)The combined mask lines up with the rows that [ArrayReader::read_records]
buffered across the decoded chunks (see read_mask_batch). Consuming the
buffered batch and filtering it with the accumulated mask yields the output.
decoded rows: 0 1 2 3 11 <-- buffered by the array reader
chunk masks: [1 0 0 0] [1]
finish(): 1 0 0 0 1 <-- filters the whole batch in one passVariants§
Implementations§
Trait Implementations§
Source§impl Default for FilterMaskAccumulator
impl Default for FilterMaskAccumulator
Source§fn default() -> FilterMaskAccumulator
fn default() -> FilterMaskAccumulator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for FilterMaskAccumulator
impl RefUnwindSafe for FilterMaskAccumulator
impl Send for FilterMaskAccumulator
impl Sync for FilterMaskAccumulator
impl Unpin for FilterMaskAccumulator
impl UnsafeUnpin for FilterMaskAccumulator
impl UnwindSafe for FilterMaskAccumulator
Blanket Implementations§
impl<T> Allocation for T
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