struct RowGroupFrontier {
parquet_metadata: Arc<ParquetMetaData>,
row_groups: VecDeque<usize>,
selection: Option<RowSelection>,
budget: RowBudget,
has_predicates: bool,
}Fields§
§parquet_metadata: Arc<ParquetMetaData>Metadata used to resolve row counts for queued row groups.
row_groups: VecDeque<usize>Row group indices not yet handed to the builder.
selection: Option<RowSelection>Cross-row-group cursor for the optional global row selection.
budget: RowBudgetOffset/limit budget before the next readable row group is planned.
has_predicates: boolIf predicates are present, row groups with selected rows must be read so the predicate can decide whether they are actually needed.
Implementations§
Source§impl RowGroupFrontier
impl RowGroupFrontier
fn new( parquet_metadata: Arc<ParquetMetaData>, row_groups: Vec<usize>, selection: Option<RowSelection>, budget: RowBudget, has_predicates: bool, ) -> Self
fn row_group_num_rows( &self, row_group_idx: usize, ) -> Result<usize, ParquetError>
fn update_budget_after_row_group(&mut self, budget: RowBudget)
fn clear_remaining(&mut self)
Sourcefn plan_selected_row_group(
&self,
next_row_group: NextRowGroup,
selected_rows: usize,
) -> QueuedRowGroupDecision
fn plan_selected_row_group( &self, next_row_group: NextRowGroup, selected_rows: usize, ) -> QueuedRowGroupDecision
Plan whether a selected row group should be read or skipped.
Selection-only skips are handled before this method is called. This method applies the remaining offset/limit budget and predicate conservatism.
Sourcefn next_readable_row_group(
&mut self,
) -> Result<Option<NextRowGroup>, ParquetError>
fn next_readable_row_group( &mut self, ) -> Result<Option<NextRowGroup>, ParquetError>
Advance queued row groups until one should be handed to the builder.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RowGroupFrontier
impl !RefUnwindSafe for RowGroupFrontier
impl Send for RowGroupFrontier
impl Sync for RowGroupFrontier
impl Unpin for RowGroupFrontier
impl UnsafeUnpin for RowGroupFrontier
impl !UnwindSafe for RowGroupFrontier
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