Skip to main content

Module kernel_predicates

Module kernel_predicates 

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

KernelPredicateEvaluatorDefaults
A collection of provided methods from the KernelPredicateEvaluator trait, factored out to allow reuse by multiple bool-output predicate evaluator implementations.

Traits§

DataSkippingPredicateEvaluator
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.
KernelPredicateEvaluator
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§

DirectDataSkippingPredicateEvaluator
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.
DirectPredicateEvaluator
A predicate evaluator that directly evaluates predicates, resolving column references to scalar values.
IndirectDataSkippingPredicateEvaluator
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.