Expand description
ScanPlan: the byte ranges that a push decoder may still read.
Re-exportsΒ§
use std::cmp::Reverse;πuse std::collections::BinaryHeap;πuse std::iter::FusedIterator;πuse std::ops::Range;πuse std::sync::Arc;πuse super::reader_builder::StageSchedule;πuse crate::arrow::arrow_reader::ReadPlanBuilder;πuse crate::arrow::arrow_reader::RowSelection;πuse crate::arrow::in_memory_row_group::ColumnFetch;πuse crate::arrow::in_memory_row_group::column_selection;πuse crate::arrow::in_memory_row_group::columns_to_fetch;πuse crate::arrow::in_memory_row_group::dictionary_range;πuse crate::arrow::in_memory_row_group::page_range;πuse crate::errors::ParquetError;πuse crate::file::metadata::ParquetMetaData;πuse crate::file::metadata::page_index::PageIndexProvider;πuse crate::file::page_index::offset_index::PageLocation;πpub(crate) use budget::BudgetedReadPlan;πpub(crate) use budget::RowBudget;πpub(crate) use frontier::NextRowGroup;πpub(crate) use frontier::RowGroupFrontier;πpub(crate) use super::reader_builder::Stage as ScanStage;π
ModulesΒ§
- budget π
- Offset/limit budget shared across the row groups of a scan.
- frontier π
- Which row groups a scan reads next, with their selections and budget.
StructsΒ§
- Planned
Range - One item of a
ScanPlan. - Planner π
- The state of a
ScanPlanthat is not empty. - RowGroup
Context π - What the ranges of one row group are computed from.
- RowGroup
Ranges π - The planned ranges of one row group, in decode order.
- Scan
Plan - The byte ranges that a push decoder may still read, in the order that decoding needs them.
- Scan
Plan πBuilder - Builds a
ScanPlanfrom a decoderβs row-group frontier and the columns each decoding stage reads. - Selected
Rows π - Counts the selected rows before a position in a row group.
- Stage
Columns π - The decoderβs batch size and decoding stages.
- Stage
Plan π - The columns that one decoding stage of a row group reads first.
- Stage
Ranges π - The merge state of one stage.
EnumsΒ§
- Page
Kind - What a
PlannedRangecontains. - PageSet π
- The data pages of a column chunk that the decoder reads, in page order.
ConstantsΒ§
- CHUNK π
- The next range is the whole column chunk. The column has no offset index.
- DICTIONARY π
- The next range is the dictionary page.
FunctionsΒ§
- position π
- Converts a column or page position to a heap entry field.
Type AliasesΒ§
- Head
Position π - Which range of a column chunk is next:
CHUNK,DICTIONARY, or the position of a data page in the pages that the decoder reads. - Heap
Entry π - A heap entry: the sort key of the next range of a cursor, the position
of the column in
StageRanges::columns, and theHeadPositionof that range. The column position breaks ties, so ranges with equal keys stay in file order of their columns. - Range
Order π - How the heap orders the next ranges of different column chunks: by first row, then more rows first (a dictionary page), then by file offset. The ranges of one column chunk keep file order, also a page with no planned rows that the predicate cache reads.