Expand description
Logic for selecting which rows to read: RowSelection and RowSelector
This module holds RowSelection and its public API, which dispatches to
one of the two backings depending on how the selection is stored:
selector: the run length backing,RowSelectorand its primitivesboolean: the bitmap backing,MaskSelectionand its primitives
The remaining modules hold the operations that are common to both:
algebra:and_then,intersectionandunionranges: mapping aRowSelectiononto page and batch rangescursor: iterating aRowSelectionwhile reading
Re-exportsยง
pub use boolean::MaskRunIter;pub use cursor::RowSelectionCursor;pub use cursor::RowSelectionPolicy;pub use selector::RowSelector;
Modulesยง
- algebra ๐
- Set algebra backing
RowSelection::and_then,RowSelection::intersectionandRowSelection::union - boolean ๐
- The bitmap backed representation of a
RowSelectionand the primitives operating on it: conversion to and from the run length (RowSelector) form, and the transforms backingsplit_off,trim,offsetandlimit. - cursor ๐
- Execution time iteration over a
RowSelection. - ranges ๐
- Mapping the
RowSelectorruns of a selection onto ranges: the byte ranges of the data pages that must be fetched (RowSelection::scan_ranges) and the expansion of a selection to batch boundaries. - selector ๐
- The run length backed representation of a
RowSelection:RowSelectorand the primitives operating on a sequence of them.
Structsยง
- RowSelection
RowSelectionrepresents selecting a subset of rows when scanning a parquet file.
Enumsยง
- RowSelection
Inner ๐ - Internal storage for
RowSelection.