Skip to main content

Module predicate

Module predicate 

Source

Macros§

return_none_if_utf8 🔒
Assert the scalar value is not utf8. Returns None if it’s utf8. In theory, it should be converted to a timestamp scalar value by TypeConversionRule.

Structs§

Predicate
Reference-counted pointer to a list of logical exprs and a list of dynamic filter physical exprs.

Enums§

TimeRangeExtraction
The outcome of strictly extracting the time range of ts_col_name from a scan’s filters. Unlike build_time_range_predicate, which quietly widens to min_to_max on anything it cannot parse (fine for pruning), this distinguishes “the column is not filtered at all” from “it is filtered in a way that cannot be safely turned into a range” — for callers whose contract forbids silently falling back to a default window.

Functions§

build_time_range_predicate
build_time_range_predicate extracts time range from logical exprs to facilitate fast time range pruning.
contains_disjunction_over_column 🔒
extract_from_between_expr 🔒
extract_from_binary_expr 🔒
extract_from_in_list_expr 🔒
Extract time range filter from IN (...) expr.
extract_time_range_from_expr
Extract time range filter from WHERE/IN (...)/BETWEEN clauses. Return None if no time range can be found in expr.
extract_time_range_strict
Strictly extracts the time range of ts_col_name from the (implicitly AND-ed) scan filters. See TimeRangeExtraction.
get_timestamp_filter 🔒
is_string_timestamp_literal