@@ -62,6 +62,7 @@ use log::{debug, warn};
6262/// # Example
6363/// ```
6464/// # use std::any::Any;
65+ /// # use std::fmt::{Debug, Formatter};
6566/// # use std::sync::Arc;
6667/// # use arrow::datatypes::{Field, Fields, DataType, Schema, SchemaRef};
6768/// # use object_store::ObjectStore;
@@ -72,7 +73,7 @@ use log::{debug, warn};
7273/// # use datafusion_datasource::PartitionedFile;
7374/// # use datafusion_datasource::file_scan_config::{FileScanConfig, FileScanConfigBuilder};
7475/// # use datafusion_datasource::file_stream::FileOpener;
75- /// # use datafusion_datasource::source::DataSourceExec;
76+ /// # use datafusion_datasource::source::{DataSource, DataSourceExec} ;
7677/// # use datafusion_execution::object_store::ObjectStoreUrl;
7778/// # use datafusion_physical_plan::ExecutionPlan;
7879/// # use datafusion_physical_plan::metrics::ExecutionPlanMetricsSet;
@@ -90,15 +91,19 @@ use log::{debug, warn};
9091/// # schema_adapter_factory: Option<Arc<dyn SchemaAdapterFactory>>
9192/// # config: FileScanConfig,
9293/// # };
93- /// # impl FileSource for ParquetSource {
94+ /// # impl Debug for ParquetSource {fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { unimplemented!() }}
95+ ///
96+ /// impl FileSource for ParquetSource {
9497/// # fn config(&self) -> &FileScanConfig { &self.config }
98+ /// # fn with_config(&self, config: FileScanConfig) -> Arc<dyn FileSource> { unimplemented!() }
99+ /// # fn as_data_source(&self) -> Arc<dyn DataSource> { Arc::new(self.clone()) }
95100/// # fn create_file_opener(&self, _: Arc<dyn ObjectStore>, _: usize) -> Arc<dyn FileOpener> { unimplemented!() }
96101/// # fn as_any(&self) -> &dyn Any { self }
97- /// # fn metrics (&self) -> &ExecutionPlanMetricsSet { unimplemented!() }
102+ /// # fn metrics_inner (&self) -> &ExecutionPlanMetricsSet { unimplemented!() }
98103/// # fn file_type(&self) -> &str { "parquet" }
99104/// # fn with_schema_adapter_factory(&self, factory: Arc<dyn SchemaAdapterFactory>) -> Result<Arc<dyn FileSource>> { Ok(Arc::new(Self {projected_statistics: self.projected_statistics.clone(), schema_adapter_factory: Some(factory), config: self.config.clone() } )) }
100105/// # fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>> { self.schema_adapter_factory.clone() }
101- /// # }
106+ /// # }
102107/// # impl ParquetSource {
103108/// # fn new(config: FileScanConfig) -> Self { Self {projected_statistics: None, schema_adapter_factory: None, config} }
104109/// # }
@@ -115,9 +120,8 @@ use log::{debug, warn};
115120/// PartitionedFile::new("file2.parquet", 56),
116121/// PartitionedFile::new("file3.parquet", 78),
117122/// ])).build();
118- /// let file_source = Arc::new(ParquetSource::new(config.clone()));
119123/// // create an execution plan from the config
120- /// let plan: Arc<dyn ExecutionPlan> =DataSourceExec::from_data_source(source );
124+ /// let plan: Arc<dyn ExecutionPlan> =DataSourceExec::from_data_source(ParquetSource::new(config.clone()) );
121125/// ```
122126#[ derive( Clone ) ]
123127pub struct FileScanConfig {
0 commit comments