@@ -41,21 +41,41 @@ use std::sync::Arc;
41
41
42
42
/// Implements [`FileOpener`] for a parquet file
43
43
pub ( super ) struct ParquetOpener {
44
+ /// Execution partition index
44
45
pub partition_index : usize ,
46
+ /// Column indexes in `table_schema` needed by the query
45
47
pub projection : Arc < [ usize ] > ,
48
+ /// Target number of rows in each output RecordBatch
46
49
pub batch_size : usize ,
50
+ /// Optional limit on the number of rows to read
47
51
pub limit : Option < usize > ,
52
+ /// Optional predicate to apply during the scan
48
53
pub predicate : Option < Arc < dyn PhysicalExpr > > ,
54
+ /// Optional pruning predicate applied to row group statistics
49
55
pub pruning_predicate : Option < Arc < PruningPredicate > > ,
56
+ /// Optional pruning predicate applied to data page statistics
50
57
pub page_pruning_predicate : Option < Arc < PagePruningAccessPlanFilter > > ,
58
+ /// Schema of the output table
51
59
pub table_schema : SchemaRef ,
60
+ /// Optional hint for how large the initial request to read parquet metadata
61
+ /// should be
52
62
pub metadata_size_hint : Option < usize > ,
63
+ /// Metrics for reporting
53
64
pub metrics : ExecutionPlanMetricsSet ,
65
+ /// Factory for instantiating parquet reader
54
66
pub parquet_file_reader_factory : Arc < dyn ParquetFileReaderFactory > ,
67
+ /// Should the filters be evaluated during the parquet scan using
68
+ /// [`DataFusionArrowPredicate`](row_filter::DatafusionArrowPredicate)?
55
69
pub pushdown_filters : bool ,
70
+ /// Should the filters be reordered to optimize the scan?
56
71
pub reorder_filters : bool ,
72
+ /// Should the page index be read from parquet files, if present, to skip
73
+ /// data pages
57
74
pub enable_page_index : bool ,
75
+ /// Should the bloom filter be read from parquet, if present, to skip row
76
+ /// groups
58
77
pub enable_bloom_filter : bool ,
78
+ /// Schema adapter factory
59
79
pub schema_adapter_factory : Arc < dyn SchemaAdapterFactory > ,
60
80
}
61
81
0 commit comments