Skip to main content

Module scan_plan

Module scan_plan 

Source
Expand description

ScanPlan: the byte ranges that a push decoder may still read.

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Β§

PlannedRange
One item of a ScanPlan.
Planner πŸ”’
The state of a ScanPlan that is not empty.
RowGroupContext πŸ”’
What the ranges of one row group are computed from.
RowGroupRanges πŸ”’
The planned ranges of one row group, in decode order.
ScanPlan
The byte ranges that a push decoder may still read, in the order that decoding needs them.
ScanPlanBuilder πŸ”’
Builds a ScanPlan from a decoder’s row-group frontier and the columns each decoding stage reads.
SelectedRows πŸ”’
Counts the selected rows before a position in a row group.
StageColumns πŸ”’
The decoder’s batch size and decoding stages.
StagePlan πŸ”’
The columns that one decoding stage of a row group reads first.
StageRanges πŸ”’
The merge state of one stage.

EnumsΒ§

PageKind
What a PlannedRange contains.
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Β§

HeadPosition πŸ”’
Which range of a column chunk is next: CHUNK, DICTIONARY, or the position of a data page in the pages that the decoder reads.
HeapEntry πŸ”’
A heap entry: the sort key of the next range of a cursor, the position of the column in StageRanges::columns, and the HeadPosition of that range. The column position breaks ties, so ranges with equal keys stay in file order of their columns.
RangeOrder πŸ”’
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.