Module filter

Module filter 

Source
Expand description

Filter pushdown support for Zarr queries

This module parses DataFusion filter expressions to extract coordinate equality filters (e.g., time = 1323647), which can be used to read only the relevant subset of Zarr arrays.

For a Zarr store with coordinates [time, hybrid, lat, lon], a filter like time = X AND hybrid = Y allows us to read only the slice of data where those coordinates match, dramatically reducing memory usage.

Structs§

CoordFilter
Represents a parsed coordinate filter
CoordFilters
Collection of coordinate filters extracted from a WHERE clause

Enums§

CoordValuesRef
Reference to coordinate values for searching

Functions§

calculate_coord_ranges
Calculate which indices to read from each coordinate based on filters
calculate_filtered_rows
Calculate the total number of rows after applying coordinate filters
coord_ranges_to_array_ranges
Calculate Zarr array subset ranges from coordinate filter ranges
parse_coord_filters
Parse DataFusion filter expressions to extract coordinate equality filters