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

Method rewrite

datafusion/core/src/datasource/mod.rs:168–184  ·  view source on GitHub ↗
(&self, expr: Arc<dyn PhysicalExpr>)

Source from the content-addressed store, hash-verified

166
167 impl PhysicalExprAdapter for TestPhysicalExprAdapter {
168 fn rewrite(&self, expr: Arc<dyn PhysicalExpr>) -> Result<Arc<dyn PhysicalExpr>> {
169 expr.transform(|e| {
170 if let Some(column) = e.downcast_ref::<Column>() {
171 // If column is "extra_column" and missing from physical schema, inject "foo"
172 if column.name() == "extra_column"
173 && self.physical_file_schema.index_of("extra_column").is_err()
174 {
175 return Ok(Transformed::yes(Arc::new(Literal::new(
176 ScalarValue::Utf8(Some("foo".to_string())),
177 ))
178 as Arc<dyn PhysicalExpr>));
179 }
180 }
181 Ok(Transformed::no(e))
182 })
183 .data()
184 }
185 }
186}

Callers 1

create_physical_exprMethod · 0.45

Calls 6

newFunction · 0.85
is_errMethod · 0.80
dataMethod · 0.45
transformMethod · 0.45
nameMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected