struct RowGroupFrontier {
parquet_metadata: Arc<ParquetMetaData>,
queued: QueuedRowGroups,
budget: RowBudget,
has_predicates: bool,
}Fields§
§parquet_metadata: Arc<ParquetMetaData>Metadata used to resolve row counts for queued row groups.
queued: QueuedRowGroupsRow groups not yet handed to the builder.
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_group_plan: RowGroupPlan, budget: RowBudget, has_predicates: bool, ) -> Result<Self, ParquetError>
fn update_budget_after_row_group(&mut self, budget: RowBudget)
Sourcefn peek_next_row_group(&self) -> Result<Option<usize>, ParquetError>
fn peek_next_row_group(&self) -> Result<Option<usize>, ParquetError>
Peek at the next row-group index Self::next_readable_row_group
would hand out, without mutating any state. Returns None if every
remaining row group would be skipped under the current
selection/budget, or if the queue is empty.
Runs the real Self::next_readable_row_group advance logic on a
throwaway clone of the frontier, so peek can never drift from the
read path. The clone copies the queued row-group plan and selections;
see
RemainingRowGroups::peek_next_row_group.
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§
Source§impl Clone for RowGroupFrontier
impl Clone for RowGroupFrontier
Source§fn clone(&self) -> RowGroupFrontier
fn clone(&self) -> RowGroupFrontier
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more