Skip to content

Commit 152548d

Browse files
Prepend traitwhen calling statistics
1 parent 4c7c045 commit 152548d

File tree

13 files changed

+37
-24
lines changed

13 files changed

+37
-24
lines changed

datafusion/core/src/datasource/physical_plan/arrow_file.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ impl FileSource for ArrowSource {
8989
&self.metrics
9090
}
9191

92-
fn statistics(&self) -> Result<Statistics> {
92+
fn file_source_statistics(&self) -> Result<Statistics> {
9393
let statistics = &self.projected_statistics;
9494
Ok(statistics
9595
.clone()

datafusion/core/tests/physical_optimizer/filter_pushdown/util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ impl FileSource for TestSource {
178178
&self.metrics
179179
}
180180

181-
fn statistics(&self) -> Result<Statistics> {
181+
fn file_source_statistics(&self) -> Result<Statistics> {
182182
Ok(self
183183
.statistics
184184
.as_ref()

datafusion/core/tests/physical_optimizer/test_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ pub(crate) fn parquet_exec_with_stats(file_size: u64) -> Arc<DataSourceExec> {
135135
.build();
136136

137137
assert_eq!(
138-
config.file_source.statistics().unwrap().num_rows,
138+
config.file_source.file_source_statistics().unwrap().num_rows,
139139
Precision::Inexact(10000)
140140
);
141141
DataSourceExec::from_data_source(config)

datafusion/datasource-avro/src/source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl FileSource for AvroSource {
105105
&self.metrics
106106
}
107107

108-
fn statistics(&self) -> Result<Statistics> {
108+
fn file_source_statistics(&self) -> Result<Statistics> {
109109
let statistics = &self.projected_statistics;
110110
Ok(statistics
111111
.clone()

datafusion/datasource-csv/src/source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ impl FileSource for CsvSource {
266266
fn metrics(&self) -> &ExecutionPlanMetricsSet {
267267
&self.metrics
268268
}
269-
fn statistics(&self) -> Result<Statistics> {
269+
fn file_source_statistics(&self) -> Result<Statistics> {
270270
let statistics = &self.projected_statistics;
271271
Ok(statistics
272272
.clone()

datafusion/datasource-json/src/source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ impl FileSource for JsonSource {
140140
&self.metrics
141141
}
142142

143-
fn statistics(&self) -> Result<Statistics> {
143+
fn file_source_statistics(&self) -> Result<Statistics> {
144144
let statistics = &self.projected_statistics;
145145
Ok(statistics
146146
.clone()

datafusion/datasource-parquet/src/source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ impl FileSource for ParquetSource {
614614
&self.metrics
615615
}
616616

617-
fn statistics(&self) -> datafusion_common::Result<Statistics> {
617+
fn file_source_statistics(&self) -> datafusion_common::Result<Statistics> {
618618
let statistics = &self.projected_statistics;
619619
let statistics = statistics
620620
.clone()

datafusion/datasource/src/file.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ pub trait FileSource: Send + Sync {
7272
/// Return execution plan metrics
7373
fn metrics(&self) -> &ExecutionPlanMetricsSet;
7474
/// Return projected statistics
75-
fn statistics(&self) -> Result<Statistics>;
75+
fn file_source_statistics(&self) -> Result<Statistics>;
7676
/// String representation of file source such as "csv", "json", "parquet"
7777
fn file_type(&self) -> &str;
7878
/// Format FileType specific information

datafusion/datasource/src/file_scan_config.rs

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ impl From<FileScanConfig> for FileScanConfigBuilder {
479479
file_schema: config.file_schema,
480480
file_source: Arc::<dyn FileSource>::clone(&config.file_source),
481481
file_groups: config.file_groups,
482-
statistics: config.file_source.statistics().ok(),
482+
statistics: config.file_source.file_source_statistics().ok(),
483483
output_ordering: config.output_ordering,
484484
file_compression_type: Some(config.file_compression_type),
485485
new_lines_in_values: Some(config.new_lines_in_values),
@@ -585,7 +585,7 @@ impl DataSource for FileScanConfig {
585585
SchedulingType::Cooperative
586586
}
587587

588-
fn statistics(&self) -> Result<Statistics> {
588+
fn data_source_statistics(&self) -> Result<Statistics> {
589589
Ok(self.projected_stats())
590590
}
591591

@@ -679,7 +679,7 @@ impl FileScanConfig {
679679
}
680680

681681
pub fn projected_stats(&self) -> Statistics {
682-
let statistics = self.file_source.statistics().unwrap();
682+
let statistics = self.file_source.file_source_statistics().unwrap();
683683

684684
let table_cols_stats = self
685685
.projection_indices()
@@ -746,7 +746,7 @@ impl FileScanConfig {
746746
return (
747747
Arc::clone(&self.file_schema),
748748
self.constraints.clone(),
749-
self.file_source.statistics().unwrap().clone(),
749+
self.file_source.file_source_statistics().unwrap().clone(),
750750
self.output_ordering.clone(),
751751
);
752752
}
@@ -978,7 +978,7 @@ impl Debug for FileScanConfig {
978978
write!(
979979
f,
980980
"statistics={:?}, ",
981-
self.file_source.statistics().unwrap()
981+
self.file_source.file_source_statistics().unwrap()
982982
)?;
983983

984984
DisplayAs::fmt_as(self, DisplayFormatType::Verbose, f)?;
@@ -1569,8 +1569,8 @@ mod tests {
15691569
to_partition_cols(partition_cols.clone()),
15701570
);
15711571

1572-
let source_statistics = conf.file_source.statistics().unwrap();
1573-
let conf_stats = conf.statistics().unwrap();
1572+
let source_statistics = conf.file_source.file_source_statistics().unwrap();
1573+
let conf_stats = conf.data_source_statistics().unwrap();
15741574

15751575
// projection should be reflected in the file source statistics
15761576
assert_eq!(conf_stats.num_rows, Precision::Inexact(3));
@@ -2203,23 +2203,36 @@ mod tests {
22032203

22042204
// Verify statistics are set to unknown
22052205
assert_eq!(
2206-
config.file_source.statistics().unwrap().num_rows,
2206+
config
2207+
.file_source
2208+
.file_source_statistics()
2209+
.unwrap()
2210+
.num_rows,
22072211
Precision::Absent
22082212
);
22092213
assert_eq!(
2210-
config.file_source.statistics().unwrap().total_byte_size,
2214+
config
2215+
.file_source
2216+
.file_source_statistics()
2217+
.unwrap()
2218+
.total_byte_size,
22112219
Precision::Absent
22122220
);
22132221
assert_eq!(
22142222
config
22152223
.file_source
2216-
.statistics()
2224+
.file_source_statistics()
22172225
.unwrap()
22182226
.column_statistics
22192227
.len(),
22202228
file_schema.fields().len()
22212229
);
2222-
for stat in config.file_source.statistics().unwrap().column_statistics {
2230+
for stat in config
2231+
.file_source
2232+
.file_source_statistics()
2233+
.unwrap()
2234+
.column_statistics
2235+
{
22232236
assert_eq!(stat.distinct_count, Precision::Absent);
22242237
assert_eq!(stat.min_value, Precision::Absent);
22252238
assert_eq!(stat.max_value, Precision::Absent);

datafusion/datasource/src/memory.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ impl DataSource for MemorySourceConfig {
194194
SchedulingType::Cooperative
195195
}
196196

197-
fn statistics(&self) -> Result<Statistics> {
197+
fn data_source_statistics(&self) -> Result<Statistics> {
198198
Ok(common::compute_record_batch_statistics(
199199
&self.partitions,
200200
&self.schema,

0 commit comments

Comments
 (0)