ReadPlan
Properties
- $indexes : Indexes
- $limit : int|null
- $matched : RowSelection
- $offset : int
- $rowFilter : BoundFilter|null
- $selection : RowSelection
Methods
- __construct() : mixed
- forFilter() : self
- The rows to read: the file's rows from $rawOffset on, minus the row groups and pages whose statistics or bloom filters prove no row matches $filter. The conjuncts of $filter the file answers exactly are evaluated on rows (ReadPlan::$rowFilter); the caller evaluates the rest.
- window() : self
- Every row of the window, each a match.
Properties
$indexes
public
Indexes
$indexes
$limit
public
int|null
$limit
= null
$matched
public
RowSelection
$matched
$offset
public
int
$offset
= 0
$rowFilter
public
BoundFilter|null
$rowFilter
= null
$selection
public
RowSelection
$selection
Methods
__construct()
public
__construct(RowSelection $selection, RowSelection $matched, Indexes $indexes[, null|BoundFilter $rowFilter = null ][, null|int $limit = null ][, int $offset = 0 ]) : mixed
Parameters
- $selection : RowSelection
-
rows to read
- $matched : RowSelection
-
rows proven to match the filter, within $selection: a hint an engine may ignore, evaluating $rowFilter on them as well (arrow skips it only on whole row groups)
- $indexes : Indexes
-
the file's page indexes, read once for planning and reading
- $rowFilter : null|BoundFilter = null
-
evaluated on every selected row outside $matched; a row is read when true
- $limit : null|int = null
-
the rows returned at most, counted after $rowFilter
- $offset : int = 0
-
the rows skipped before any is returned, counted after $rowFilter
forFilter()
The rows to read: the file's rows from $rawOffset on, minus the row groups and pages whose statistics or bloom filters prove no row matches $filter. The conjuncts of $filter the file answers exactly are evaluated on rows (ReadPlan::$rowFilter); the caller evaluates the rest.
public
static forFilter(Footer $footer, Indexes $indexes, BoundFilter|null $filter[, int $rawOffset = 0 ][, null|int $limit = null ][, null|int $rawRows = null ][, int $offset = 0 ]) : self
Parameters
- $footer : Footer
- $indexes : Indexes
- $filter : BoundFilter|null
- $rawOffset : int = 0
-
rows of the file skipped before any is evaluated
- $limit : null|int = null
-
rows returned at most, counted after the row filter: refused beside a filter whose conjuncts are not all evaluated on rows, as the rows returned would still be filtered
- $rawRows : null|int = null
-
rows of the file from $rawOffset the plan covers at most, counted before any is evaluated - a byte window's row groups; null for all of them
- $offset : int = 0
-
rows skipped before any is returned, counted after the row filter: refused like $limit
Return values
selfwindow()
Every row of the window, each a match.
public
static window(int $rows, Indexes $indexes[, int $offset = 0 ][, int|null $limit = null ]) : self
Parameters
- $rows : int
- $indexes : Indexes
- $offset : int = 0
- $limit : int|null = null