(
&self,
projection: &datafusion_physical_plan::projection::ProjectionExprs,
)
| 107 | } |
| 108 | |
| 109 | fn try_pushdown_projection( |
| 110 | &self, |
| 111 | projection: &datafusion_physical_plan::projection::ProjectionExprs, |
| 112 | ) -> Result<Option<Arc<dyn FileSource>>> { |
| 113 | let mut source = self.clone(); |
| 114 | let new_projection = self.projection.source.try_merge(projection)?; |
| 115 | let split_projection = crate::projection::SplitProjection::new( |
| 116 | self.table_schema.file_schema(), |
| 117 | &new_projection, |
| 118 | ); |
| 119 | source.projection = split_projection; |
| 120 | Ok(Some(Arc::new(source))) |
| 121 | } |
| 122 | |
| 123 | fn projection( |
| 124 | &self, |
no test coverage detected