Expand description
Support for kernel-driven predicate evaluation via the KernelPredicateEvaluator
trait. Various trait implementations are used for partition pruning, stats-based data skipping,
and parquet row group filtering. The evaluation is normally performed over Scalar values,
but data skipping “evaluation” actually produces a transformed predicate that replaces column
references with stats column references, which log replay will instruct the engine to evaluate.
Structs§
- Kernel
Predicate Evaluator Defaults - A collection of provided methods from the
KernelPredicateEvaluatortrait, factored out to allow reuse by multiple bool-output predicate evaluator implementations.
Traits§
- Data
Skipping Predicate Evaluator - A predicate evaluator that implements data skipping semantics over various column stats. For example, comparisons involving a column are converted into comparisons over that column’s min/max stats, and NULL checks are converted into comparisons involving the column’s nullcount and rowcount stats.
- Kernel
Predicate Evaluator - Uses kernel (not engine) logic to evaluate a predicate tree against column names that resolve as scalars. Useful for testing/debugging but also serves as a reference implementation that documents the expression semantics that kernel relies on for data skipping.
Type Aliases§
- Direct
Data Skipping Predicate Evaluator - A data skipping predicate evaluator that directly applies data skipping, resolving column references to scalar stats values such as those provided by parquet footer stats.
- Direct
Predicate Evaluator - A predicate evaluator that directly evaluates predicates, resolving column references to scalar values.
- Indirect
Data Skipping Predicate Evaluator - A data skipping predicate evaluator that rewrites the input to a predicate that performs data skipping over column stats for all referenced columns. The resulting predicate can be evaluated against batches of column stats at some future point.