MCPcopy Create free account
hub / github.com/apache/datafusion / try_pushdown_projection

Method try_pushdown_projection

datafusion/datasource-arrow/src/source.rs:380–390  ·  view source on GitHub ↗
(
        &self,
        projection: &ProjectionExprs,
    )

Source from the content-addressed store, hash-verified

378 }
379
380 fn try_pushdown_projection(
381 &self,
382 projection: &ProjectionExprs,
383 ) -> Result<Option<Arc<dyn FileSource>>> {
384 let mut source = self.clone();
385 source.projection = SplitProjection::new(
386 self.table_schema().file_schema(),
387 &source.projection.source.try_merge(projection)?,
388 );
389 Ok(Some(Arc::new(source)))
390 }
391
392 fn projection(&self) -> Option<&ProjectionExprs> {
393 Some(&self.projection.source)

Callers 1

create_physical_planMethod · 0.45

Calls 5

newFunction · 0.85
try_mergeMethod · 0.80
cloneMethod · 0.45
file_schemaMethod · 0.45
table_schemaMethod · 0.45

Tested by

no test coverage detected