Utilities to push down of DataFusion filter predicates (any DataFusion
PhysicalExpr that evaluates to a [BooleanArray]) to the parquet decoder
level in arrow-rs.
Implements [AsyncFileReader] for a Parquet file in object storage. Reads the file metadata
from the [FileMetadataCache], if available, otherwise reads it directly from the file and then
updates the cache.
Implementation of ParquetFileReaderFactory supporting the caching of footer and page
metadata. Reads and updates the [FileMetadataCache] with the [ParquetMetaData] data.
This reader always loads the entire metadata (including page index, unless the file is
encrypted), even if not required by the current query, to ensure it is always available for
those that need it.
Recurses through expr as a tree, finds all columns, and checks if any of them would prevent
this expression from being predicate pushed down. If any of them would, this returns false.
Otherwise, true.
Note that the schema passed in here is not the physical file schema (as it is not available at that point in time);
it is the schema of the table that this expression is being evaluated against minus any projected columns and partition columns.