Skip to main content

Module predicate

Module predicate 

Source
Expand description

Scan predicates for block-level predicate pushdown.

A ScanPredicate describes a filter on a single column that can be evaluated against BlockStats to skip entire blocks without decompressing.

Predicates work for both numeric columns (comparing against BlockStats.min / BlockStats.max) and string columns (comparing against BlockStats.str_min / BlockStats.str_max). For string Eq predicates the optional bloom filter provides an additional fast-reject path.

Structs§

ScanPredicate
A predicate on a single column for block-level pushdown.

Enums§

PredicateOp
Comparison operator for scan predicates.
PredicateValue
The value side of a scan predicate.

Constants§

BLOOM_BITS_DEFAULT
Default bloom filter size in bits (2048 bits = 256 bytes).
BLOOM_BYTES
Convenience byte count for the default bit array size.
BLOOM_K_DEFAULT
Default number of independent hash functions.

Functions§

bloom_insert
Insert a string value into a BloomFilter.
bloom_may_contain
Test whether a string value may be present in a BloomFilter.
build_bloom
Build a new BloomFilter with the default parameters (k=3, m=2048) and insert all provided string values.
build_bloom_with_params
Build a BloomFilter with explicit k (hash function count) and m (bit-array size). m must be a power of two and at least 8.
f64_to_exact_i64
Convert an f64 to i64 only if the conversion is exact.