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

Function rewrite_column_expr

datafusion/pruning/src/pruning_predicate.rs:1242–1257  ·  view source on GitHub ↗

replaces a column with an old name with a new name in an expression

(
    e: Arc<dyn PhysicalExpr>,
    column_old: &phys_expr::Column,
    column_new: &phys_expr::Column,
)

Source from the content-addressed store, hash-verified

1240
1241/// replaces a column with an old name with a new name in an expression
1242fn rewrite_column_expr(
1243 e: Arc<dyn PhysicalExpr>,
1244 column_old: &phys_expr::Column,
1245 column_new: &phys_expr::Column,
1246) -> Result<Arc<dyn PhysicalExpr>> {
1247 e.transform(|expr| {
1248 if let Some(column) = expr.downcast_ref::<phys_expr::Column>()
1249 && column == column_old
1250 {
1251 return Ok(Transformed::yes(Arc::new(column_new.clone())));
1252 }
1253
1254 Ok(Transformed::no(expr))
1255 })
1256 .data()
1257}
1258
1259fn reverse_operator(op: Operator) -> Result<Operator> {
1260 op.swap().ok_or_else(|| {

Callers 1

stat_column_exprMethod · 0.85

Calls 4

newFunction · 0.85
dataMethod · 0.45
transformMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…